Лично я предпочитаю callback над делегатом в Swift для простых логических корреляций, потому что он довольно прямолинейный и понятный. В то же время некоторые предпочитают делегат, поскольку делегирование является популярным шаблоном на других языках, таких как С#.
Есть несколько дискуссий, которые я нашел в Интернете:
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/
Прочитав эти обсуждения, я все еще не уверен в предпочтении. Я хотел бы знать, когда лучше использовать закрытие и когда лучше использовать делегатов? и причины?
Спасибо!