Это должно быть легко:
При вызове didSelectRowAtIndexPath я запускаю сложный метод, который загружает содержимое URL, анализирует его и помещает результат в различные свойства.
В симуляторе и на устройстве в ситуации WiFi все просто отлично. Однако на устройстве в более медленной сети требуется всего лишь некоторое время, чтобы обработать все это.
Поэтому я хочу отобразить счетчик в ячейке выбранного ряда, чтобы успокоить пользователя в мысли, что что-то происходит.
Моя проблема в том, что вращающийся элемент появляется только во время анимированного перехода между видом, в котором была выбрана строка, и последующим видом.
Я хочу показать спиннер во время загрузки, анализа и анимации.
Я пробовал это:
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
myCustomCell = (MyCustomCell*)[tableView cellForRowAtIndexPath:indexPath];
[myCustomCell.spinner startAnimating];
return indexPath;
}
и
- (NSIndexPath *)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
myCustomCell = (EventCell*)[tableView cellForRowAtIndexPath:indexPath];
[myCustomCell.spinner startAnimating];
[self myVerySlowMethod];
return indexPath;
}
однако, кажется, что счетчик показан только между двумя видами.
Я проверил это на реальном устройстве, и мне так и не удалось показать счетчик.
Это:
а) потому что myVerySlowMethod достаточно быстрый?
б) потому что didSelectRowAtIndexPath сначала обработает все, а затем выполнит часть отображения или
c) Я должен изучить все хорошо написанные Руководства по программированию, прежде чем беспокоить вас?
Любой ответ приветствуется.