how do dispatch queues work
Что немного сбивает с толку, так это то, что я использую queues И я достиг точки, когда я немного потерялся. Существует метод GetPeople, который должен получить образ пользователя с сервера. Не исключая приложений, но я использовал это.
-(IBAction)seeMorePeople ); dispatch_release(getPeopleQueue); >
Предыдущий код выполняется каждый раз, когда пользователь нажимает кнопку. Что-то вроде «Дайте мне выбрать из этого альбома» и еще одно нажатие «Теперь мне нужны фотографии людей из этого другого альбома», разные фотографии и разное количество фотографий. Когда пользователь нажимает кнопку на высокой скорости, первый queue Второй data уже запущен, но он никогда не заканчивает извлечение данных. Для людей я храню данные в nsmutablearray, поэтому при получении вторых данных 2 queues выполняются одновременно, они оба записывают в один и тот же массив, что приводит к сбою приложения из-за исключения, выходящего за границы. Вот как я передаю данные в GetPeople:
-(void)getPeople:(NSDictionary *)peopleDictionary >
Чего я действительно не знаю, так это как выйти из этого состояния. queue Однако, когда появляется второй, GCD не имеет такой возможности. Если есть какой-либо другой способ, желательно без капитального ремонта, у меня все равно сейчас заканчиваются идеи, поэтому, если у вас есть какие-либо подсказки, пожалуйста, дайте мне знать.
objective -c
grand-central- dispatch
Комментарии