NSNotifications的开销

Leg*_*las 1 cocoa-touch objective-c nsnotification ios

我最近开始使用NSNotifications:

[[NSNotificationCenter defaultCenter] postNotificationName: selector: object:]; ....
Run Code Online (Sandbox Code Playgroud)

我发现它是视图控制器之间通信的一个很棒的概念.NSNotification对于应用程序中的所有通信来说,使用s 似乎有点太容易了.

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

Dee*_*olu 7

你需要记住的一件事NSNotification是它们是一种阻塞机制.因此,当发布通知的对象不需要知道谁正在接收它时,如果接收者太多,则必须在postNotification呼叫返回之前处理所有这些接收者.这是你必须考虑的事情.

因此,像@slev所说,代表们是一个更好的方法.仅在无法使用委托方法时才使用通知.