Почему Apple рекомендует использовать runloop over GCD для получения нескольких изображений? - PullRequest
7 голосов
/ 10 августа 2010

Является ли хорошей идеей загружать изображения (по 1 блоку каждый) через Grand Central Dispatch в iOS 4.0? (для использования в UITableView)

Почему Apple предпочитает runloop, как показано в видеосеансах WWDC 207 и 208?

Ответы [ 2 ]

7 голосов
/ 10 августа 2010

Смысл этих видео в том, что сети Foundation не очень хорошо интегрируются с Grand Central Dispatch прямо сейчас, поэтому, если вы хотите использовать сети на основе Foundation, runloop - ваш лучший выбор для избежания проблем традиционных потоков.Однако в сеансе 206 «Представление блоков и Grand Central Dispatch на iPhone» вы увидите, что они показывают пример использования GCD именно для этой цели.

Мне, я предпочитаю GCD из-заэлегантность кода и потому (как говорится в этих видео) это путь в будущее.

6 голосов
/ 10 августа 2010

Я еще не смотрел эти видео, но вот что говорит Крис Хэнсон (Apple Engineer) о GCD против NSOperation

Всегда используйте самый высокий уровень абстракция, доступная вам, и падение вплоть до низкоуровневых абстракций, когда измерение показывает, что они необходимо.

Другими словами, вы должны использовать NSOperations для выполнения асинхронной обработки (такой как загрузка изображений для представления таблицы), если у вас нет веской и необходимой причины для перехода на GCD.

...