gpt4 book ai didi

iphone - 从 NSInvocation 或 NSNotificationCentre 或 Delegate 方法中使用哪个更好

转载 作者:可可西里 更新时间:2023-11-01 03:44:10 27 4
gpt4 key购买 nike

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

NSInvocation

NSNotificationCentre

委托(delegate)方法

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

最佳答案

它们之所以存在,是因为它们都服务于不同的目的。简而言之:

NS调用

发送到一个对象的抽象消息,带有可选参数,表示为一个对象。不经常使用,特别是自引入 block 以来。

也可以用作避免创建 NSOperation 子类的便捷方法(参见 NSIvocationOperation)。

NSNotificationCenter

向任意数量的未知“听众”广播消息。一对多。广播者不需要知道听众。包括用于补充信息的用户信息字典。最重量级/最慢的 - 不经常需要,但为了方便经常看到。

在许多情况下,委托(delegate)就足够了。

委托(delegate)方法

通常是一个抽象对象,通常采用特定协议(protocol)。一对一的关系。处理 Action 而不是子类化的常用方法。


or by any other methods i am unaware of ??

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

关于iphone - 从 NSInvocation 或 NSNotificationCentre 或 Delegate 方法中使用哪个更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com