3li*_*3li 1 closures nsnotificationcenter swift
对于主管:在决定问这个问题之前,我进行了很多搜索,但没有找到我想要的。
我的问题是:使用NotificationCenter和使用Closures两个实例之间进行通信之间哪个更好?如果它们相似,我应该怎么用?
希望这个例子可以帮助您更好地理解:
如果我们以URLSession课堂为例。为什么大多数方法都有闭包?他们为什么不在其中发送通知Data, Response, and Error?
我知道它们之间的区别,我只是不知道在什么情况下应该使用每个。
在某些情况下,模式可以互换,但是:
您可能会问自己,为什么我们在简单情况下使用闭包,而不是委托或通知。答案是闭包是最轻量的。它们易于创建,并且对您的代码质量产生积极影响。
让我们考虑一个完成回调。如果决定使用通知,则需要另一种方法来处理该通知。对代表同样有效。如果需要一些上下文(例如,触发操作的参数),则需要将其保存到属性中。
另一方面,可以内联创建闭包。这意味着触发该动作并处理其结果的代码在一个地方。这确实简化了代码的结构。还要注意,如果闭包需要某些上下文,则可以捕获它,而无需创建其他属性。
| 归档时间: |
|
| 查看次数: |
745 次 |
| 最近记录: |