Группировка Nsoperation работает на тот же объект и обнаружение, когда они закончили в iOS
-
13-12-2019 - |
Вопрос
У меня есть приложение iOS, где 5 NSBlockoperation создают NSARRAY объектов каждый и добавьте его к общему синхронному NSMutablearRay, который служит созданием данных UibleView.
Операция не зависит друг от друга, и, как только они закончили, мне нужно запустить перезагрузку данных UiableView.
К сожалению, я не мог найти способ сделать это с Napperation.Нужно ли использовать другой мульти-дизайн темы?
Решение
Добавьте ваш вызов данных перезарядки в еще другую NSOPARY, который имеет в качестве его зависимостей (см. Генеракодицетагкод) другие пять операций.Затем он не будет выполнен, пока другие не будут завершены.
Обязательно оберните вызовы пользовательских интерфейсов в GCD Dispatch в главной ните.
Из ссылки Nsoperation:
Зависимости являются удобным способом выполнения операций в определенном порядке.Вы можете добавить и удалять зависимости для работы с использованием AddDependentency: и ShotePendency: методы.По умолчанию объект операций, который имеет зависимости, не считается готовым до тех пор, пока все его зависимые объекты операции не закончат выполнение.Однако после того, как последняя зависимая операция завершается, то операционный объект становится готовым и способным выполнять.