gpt4 book ai didi

iphone - Nsnotification 或委托(delegate)?

转载 作者:可可西里 更新时间:2023-11-01 03:42:16 26 4
gpt4 key购买 nike

我刚刚研究了这两者,它们似乎都是很好的通信方式,但 nsnotification 似乎更容易处理。在哪些情况下您希望使用委托(delegate)而不是 nsnotification,以及 nsnotification 而不是委托(delegate)?

最佳答案

我通常在子系统内的类之间使用委托(delegate),但在不需要直接链接在一起且通知的严格顺序不重要的情况下跨子系统边界使用通知。当一个类需要直接代表它完成某些事情时(就像 UITableView 所做的那样),我也会使用委托(delegate),当 Action 必须不直接代表通知者发生,而是为了他们自己的目的时,我也会使用通知。

通知对于松散耦合的系统很有用,例如,当您完成登录服务器时,许多其他子系统需要知道可以继续执行它们应该执行的任务。这些系统可能并不都需要与您的登录子系统有直接关系,但它们都需要因此做“某事”。通知也不像委托(delegate)那样规定实现的形式,因为通知者不应该关心。

委托(delegate)在更紧密耦合的系统中表现良好,在该系统中可以指示实现(例如说“现在做这个,做这个,然后做那个”),通常是通过实现委托(delegate)必须遵守的协议(protocol)。如果您正在尝试理解各种代码片段如何协同工作,那么委托(delegate)也更容易理解,因为关系更清晰。

这是一个很好的post也是关于这个主题的。

关于iphone - Nsnotification 或委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13355537/

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