Я пишу приложение, которое должно получать контент с веб-сайта всякий раз, когда пользователь нажимает кнопку перезагрузки.
Если он это делает, NSOperation регистрируется и помещается в NSOperationQueue.
Когда NSOperation запускается (START QUEUE), он проверяет свой кэш и перезагружает данные с сервера (CALL IMPORT1).
После выполнения этой задачи операция отправляет уведомление в мой UITableView, который запрашивает базу данных (НАЧАТЬ ЧТЕНИЕ / ЗАВЕРШИТЬ ЧТЕНИЕ), а затем вызывает [self.tableView reloadData];
(ПЕРЕЗАГРУЗИТЬ ЗАПУСК ДАННЫХ)
Пока здесь все работает как положено. Даже если я импортирую около 1000 элементов.
То, что сводит меня с ума, так это то, что между "END QUEUE" и получением первой ячейки есть какой-то сон (CREATE CELL START). После этого сна клетки создаются, как и должно быть - очень быстро.
Я не могу понять, что вызывает этот "сон".
Может кто-нибудь дать мне подсказку, что происходит не так.
Заранее спасибо Борис
Вызывается в viewDidAppear
2011-01-29 15: 54: 34.460 [30488: 207]
НАЧАТЬ ЧТЕНИЕ 2011-01-29
15: 54: 34.461 [30488: 207] КОНЕЦ ЧТЕНИЯ
2011-01-29 15: 54: 34.464 [30488: 207]
ПЕРЕЗАГРУЗИТЬ ДАННЫЕ НАЧАЛО 2011-01-29
15: 54: 34.468 [30488: 207] ПОЛУЧИТЬ РАЗДЕЛЫ
2011-01-29 15: 54: 34.469 [30488: 207]
ПОЛУЧИТЕ ГОЛОВУ 2011-01-29 15: 54: 34.470
[30488: 207] ПОЛУЧИТЬ ГОЛОВУ 2011-01-29
15: 54: 34.470 [30488: 207] ПОЛУЧИТЬ СТРОКИ
2011-01-29 15: 54: 34.471 [30488: 207]
СОЗДАТЬ КЛЕТОЧНЫЙ СТАРТ 2011-01-29
15: 54: 34.473 [30488: 207] СОЗДАТЬ КЛЕТКУ
СТОП 2011-01-29 15: 54: 34.474
[30488: 207] СОЗДАТЬ КЛЕТОЧНЫЙ СТАРТ
2011-01-29 15: 54: 34.475 [30488: 207]
CREATE CELL STOP 2011-01-29
15: 54: 34.476 [30488: 207] СОЗДАТЬ КЛЕТКУ
СТАРТ 2011-01-29 15: 54: 34.477
[30488: 207] СОЗДАТЬ КЛЕТОЧНУЮ ОСТАНОВКУ
2011-01-29 15: 54: 34.477 [30488: 207]
ПОЛУЧИТЬ ГОЛОВУ
Вызывается с помощью уведомления (Жирные части являются новыми из-за NSOperation)
2011-01-29 15: 54: 04.719 [30488: 630b] СТАРТ ОЧЕРЕДЬ 2011-01-29 15: 54: 05.727
[30488: 630b] ВЫЗОВ ИМПОРТ1 НАЧАЛО
2011-01-29 15: 54: 05.750 [30488: 630b]
CALL IMPORT1 STOP 2011-01-29
15: 54: 05.760 [30488: 630b] ПРОСМОТР ВЫЗОВА
START 2011-01-29 15: 54: 05.767
[30488: 630b] НАЧАТЬ ЧТЕНИЕ
2011-01-29 15: 54: 05.771 [30488: 630b]
КОНЕЦ ЧТЕНИЯ 2011-01-29 15: 54: 05.781
[30488: 630b] ЗАПУСК ДАННЫХ ПЕРЕЗАГРУЗКИ
2011-01-29 15: 54: 05.786 [30488: 630b]
ПОЛУЧИТЬ РАЗДЕЛЫ 2011-01-29 15: 54: 05.791
[30488: 630b] ПОЛУЧИТЬ ГОЛОВУ 2011-01-29
15: 54: 05.797 [30488: 630b] ПОЛУЧИТЬ ГОЛОВУ
2011-01-29 15: 54: 05.802 [30488: 630b]
ПОЛУЧИТЬ ряды
2011-01-29 15: 54: 05.806 [30488: 630b] CALL VIEW STOP 2011-01-29
15: 54: 05.811 [30488: 630b] КОНЕЦ КВАРТИРЫ
2011-01-29 15: 54: 10.770 [30488: 630b]
СОЗДАТЬ КЛЕТОЧНЫЙ СТАРТ 2011-01-29
15: 54: 10.776 [30488: 630b] СОЗДАТЬ КЛЕТКУ
СТОП 2011-01-29 15: 54: 10.777
[30488: 630b] СОЗДАТЬ СОТОВЫЙ СТАРТ
2011-01-29 15: 54: 10,778 [30488: 630b]
CREATE CELL STOP 2011-01-29
15: 54: 10.778 [30488: 630b] СОЗДАТЬ КЛЕТКУ
СТАРТ 2011-01-29 15: 54: 10.780
[30488: 630b] СОЗДАТЬ КЛЕТОЧНУЮ ОСТАНОВКУ
2011-01-29 15: 54: 10.781 [30488: 630b]
ПОЛУЧИТЬ ГОЛОВУ