哪一个更好地使用NSInvocation或NSNotificationCentre或Delegate方法

Pra*_*Das 6 iphone delegates nsinvocation nsnotificationcenter ios

在整个项目中哪一个更好用于将数据从一个类流向另一个类?

NSInvocation

NSNotificationCentre

delegate 方法

或者我不知道的任何其他方法?

jus*_*tin 7

它们都存在,因为它们都有不同的用途.简述:

NSInvocation的

抽象消息发送到一个对象,带有可选参数,表示为对象.不经常使用,特别是因为引入了块.

也可以用作避免创建NSOperation子类的便捷方法(请参阅参考资料NSIvocationOperation).

NSNotificationCenter

向任意数量的未知"听众"广播消息.一对多.广播公司不需要了解听众.包含用于补充信息的用户信息字典.批次中最重量级/最慢的 - 不经常需要,但为方便起见.

在许多情况下,代表是充分的替代品.

委托方法

通常是抽象对象,通常采用特定协议.一对一的关系.处理动作而不是子类化的常用方法.


或者我不知道的任何其他方法?

(^)也可以用作回调/处理程序,并且通常作为NSInvocations的更类型安全的替代.