Я использую AFNetworking в качестве своего сетевого стека для связи с веб-службой и заполнения локального хранилища данных. Во время прогонов синхронизации у меня есть массив конечных точек API для запуска, и когда этот запуск завершен, я добавляю окончательную операцию, которая заставляет полученный JSON заполнить базу данных.Добавление «окончательного» NSOperation к очереди с неопределенным количеством операций
Проблема, с которой я сталкиваюсь, заключается в том, что результат некоторых из этих операций JSON-выборки требует от меня вызова других конечных точек, и теперь я не знаю, когда я должен добавить эту «финальную» операцию.
То, как у меня сейчас работает, у меня есть ряд первичных операций, а затем добавьте «окончательную» операцию. За это время праймериз вернулся и вызвал меня, чтобы создать вспомогательные операции, например, так:
* Primary Fetch Operation A
* Primary Fetch Operation B
* Final Operation
* Secondary Fetch Operation B1
Мне нужно, чтобы выяснить, как обеспечить, чтобы «Final Операция» всегда будет работать в прошлом.
Одна вещь, которую я пробовал, заключается в добавлении наблюдателя к свойству operationCount
очереди операции, но, похоже, он может работать до 0 до добавления дополнительной операции.
Да! Прекрасный ответ, спасибо. Я нашел дополнительную информацию о нескольких реализациях в этом вопросе: http://stackoverflow.com/questions/11909629/waiting-until-two-async-blocks-are-executed-before-starting-another-block –