objective-c - NSNotifications 的开销

标签 objective-c cocoa-touch ios nsnotification

我最近开始使用 NSNotification年代:

[[NSNotificationCenter defaultCenter] postNotificationName: selector: object:]; ....

我发现它对于 View Controller 之间的通信来说是一个很棒的概念。它似乎有点太容易使用了NSNotification s 用于应用程序中的所有通信。

如果我使用 NSNotification对于我的应用程序中的大部分工作,您认为其中太多的开销是多少?

最佳答案

关于 NSNotification 你需要记住的一件事s 是它们是一种阻塞机制。因此,虽然发布通知的对象不需要知道谁在接收它,但如果接收者太多,它必须在 postNotification 之前处理所有接收者。通话可以返回。这是你必须考虑的事情。

因此,就像@slev 所说,代表是一种更好的方法。仅当您无法使用委托(delegate)方法时才使用通知。

关于objective-c - NSNotifications 的开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6295999/

相关文章:

objective-c - UIButton 在隐藏时不起作用

objective-c - iOS 本地化不加载语言

ios - 以编程方式同时关闭 UINavigation View 和模态视图

ios - Swift 运行时错误 : Dictionary literal contains duplicate keys

ios - 每个唯一的重用标识符是否都有自己唯一的重用队列?

ios - 如何结合滑动菜单和uitabbarcontroller?

objective-c - OCMock 转发到原始类方法

ios - 更改 inputAccessoryView 问题的高度

ios - UIPanGestureRecognizer 顶级 View 未获取事件, subview 使用它们

objective-c - Objective C 数学