В чем преимущество блока завершения над функцией обратного вызова в классе NSOperation - PullRequest
1 голос
/ 16 февраля 2012

Узнавая о NSOperation, я удивлялся, почему блок завершения будет иметь какое-либо преимущество по сравнению с обратным вызовом метода в моей подклассовой NSOperation.Я понимаю, как можно использовать блоки для организации моего кода более тесно связанным способом, и я сам использовал их таким образом (в отличие от использования методов делегатов, которые обрабатывают обратные вызовы от нескольких объектов).NSOperation, вся операция является отдельной внутри класса и моего подкласса.Он включает в себя одну операцию, и все методы ориентированы на эту единственную операцию.Так что в этом случае я не вижу, что может предложить блок завершения.Чего мне не хватает в моем понимании?

1 Ответ

5 голосов
/ 17 февраля 2012

Суть, вероятно, в том, что Блок может захватывать переменные, локальные для создаваемой области.С помощью функции обратного вызова вам, возможно, придется явно передавать контекстную структуру или объект.Блок завершения может сделать это более плавным, более автоматическим способом.

...