134得票13回答
如何在Swift 3中创建自定义通知?

在Objective-C中,自定义通知只是一个普通的NSString,但在WWDC版本的Swift 3中,它应该是什么并不明显。 在Swift中,可以使用Notification.Name类型来表示自定义通知。例如: let myNotification = Notification.Name...

28得票2回答
NSNotification名称的最佳实践

为了将我的模型与展示获取数据的视图控制器解耦,当异步请求完成时,我会发布一个NSNotification。 [[NSNotificationCenter defaultCenter] postNotificationName:@"foobarFetchSuccess" object: foo]...

28得票3回答
使用 NSNotification 的 removeObserver...我做错了什么?

我有一个视图view1,它在某个时候通过presentModalViewController:animated:调用视图view2。当view2中的某个UIButton被按下时,view2会调用view1中的一个通知方法并立即关闭。该通知方法会弹出一个警报。 通知方法可以正常工作并且可以适当地...

22得票8回答
如何检查当前是否正在显示一个 UIViewController?

如何检查当前是否正在显示一个UIViewController? 我的UIViewController正在监听NSNotifications,即使它们没有被显示(即不可见)。因此,我可以有10个在后台的UIViewController从NSNotificationCenter中观察NSNoti...

21得票2回答
NSNotification 是否会保留对象?

我的问题涉及到通过-postNotificationName:object: userInfo:方法添加的对象。 NSNotification是否会retain这个对象? (类似于NSMutableDictionary或Array),这是否意味着我可以在发布通知后释放该对象? 下面是一个代...

18得票5回答
键盘弹出通知UIKeyboardDidShowNotification被多次调用,有时候弹出的键盘尺寸也不正确

我正在尝试在键盘出现/更改时将UITextView移动到键盘上方。假设我现在使用英文键盘,然后直接切换到中文键盘(比标准的英文键盘高)。在这种情况下,我的文本视图总是显示得太高了。我在应用程序接收到UIKeyboardDidShowNotification时调整文本视图的位置(使用UIKeyb...

18得票1回答
NSNotificationCenter将结构体作为UserInfo的一部分传递

由于NSNotificationCenter.defaultCenter().postNotificationName userinfo仅接受符合AnyObject协议的数据字典,是否有人有关于如何将结构体作为NSNotification一部分发布的建议? 我的初步想法是将结构体包装在一个类...

16得票4回答
哪种方法更好地删除通知观察者?

我通常像下面的示例一样使用 NSNotification: 在 viewDidLoad 中:[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(foo:) name:kName1 object:n...

14得票1回答
仅使用UIKeyboardWillChangeFrameNotification通知

考虑键盘新的QuickType部分。 只使用UIKeyboardWillChangeFrameNotification通知,而简单地“不用管”早期的UIKeyboardWillShowNotification和UIKeyboardWillHideNotification ,这是完全可行的吗?...

13得票3回答
什么是NSNotification?

能否有人解释NSNotificationCenter的重要性? 何时使用它们? NSNotificationCenter与AppDelegate之间的区别是什么?