个人而言,对于简单的逻辑关联,我更喜欢在Swift中使用回调(callback)而不是委托(delegate),因为这种方式非常直接明了,易于理解。但同时也有一些人更喜欢使用委托,因为委托是其他语言(如C#)中流行的模式。
以下是我在网上找到的一些讨论:
1. "为什么你不应该在Swift中使用委托?" https://medium.cobeisfresh.com/why-you-shouldn-t-use-delegates-in-swift-7ef808a7f16b#.hqb7zrc1v
2. Apple正在更多地将重点放在回调模式上 https://www.reddit.com/r/swift/comments/2ces1q/closures_vs_delegates/
3. 块或委托? http://blog.stablekernel.com/blocks-or-delegates/
阅读了这些讨论之后,我仍然无法确定偏好。我想知道什么情况下最好使用闭包(closures),什么情况下最好使用委托(delegate)?原因是什么?
谢谢!