在整个项目中,哪种方法更好用于将数据从一个类流向另一个类?
- NSInvocation - NSNotificationCenter - delegate 方法
还是其他我不知道的方法?
- NSInvocation - NSNotificationCenter - delegate 方法
还是其他我不知道的方法?
NSOperation
子类(请参见NSIvocationOperation
)。
NSNotificationCenter
向任意数量的未知“监听器”广播消息。一对多。广播者不需要了解听众。包括用户信息字典以获取补充信息。这是最沉重/最慢的,不需要频繁使用,但常常用于方便。块或通过我不知道的其他方法??
(^)
也可以用作回调/处理程序,通常作为替换NSInvocations的更安全的选择。如果您只想与一个对象交流,请使用委托。例如,tableView 有一个委托 - 只有一个对象应该负责处理它。
如果您想告诉所有人发生了什么事情,请使用通知。例如,在低内存情况下,会发送一个通知告诉您的应用程序已经出现了内存警告。因为您的应用程序中的许多对象可能希望降低其内存使用率,所以这是一个通知。
希望对您有所帮助。
我使用委托。它在各个平台上都是可移植的,并且更紧密(不需要全部通过中央调度系统)。