Как безопасно выйти из представления, когда активность потенциально выполняется? - PullRequest
1 голос
/ 01 февраля 2011

У меня есть представление, которое помещается в стек UINavigationController из другого UITableView. Мое представление загружается в любое кэшированное содержимое, а затем переходит к соединению с сервером для проверки нового содержимого.

Проблема в том, что пользователь может щелкнуть кнопку со стрелкой «назад» на панели UINavigationBar, и, когда делегат отстреляется, приложение вылетает. Я вижу два подхода к этому:

  • Отмена + установка любых делегатов на ноль
  • Удалите кнопку «Назад», пока действие не завершится / не завершится (может раздражать)

К сожалению, фреймворк, который я использую (RestKit), кажется, все еще падает, когда я устанавливаю делегату RKObjectLoader значение nil.

Любые подсказки или лучшие практики по этому поводу?

1 Ответ

1 голос
/ 01 февраля 2011

Существует третий вариант - переместить представление за пределы экрана, но не отпускать его - операция завершится успешно, и вы сможете освободить память.

Вариант 1 будет правильным способом сделать это - выне хочу делать вещи без причины.Вы пытались перехватить кнопку возврата и сохранить вид.Отмените операцию, но не устанавливайте делегата в ноль.Вы должны получить какое-то сообщение об ошибке из restKit своему делегату - когда вы получите это, вы можете освободить себя.Тем временем UIKit убрал представление с экрана, поэтому пользователь не подозревает, что это происходит.

Если все это не работает, вариант 2 будет работать (но будет отстой).


Можете ли вы опубликовать трассировку стека аварии - может быть, мы можем просто исправить RestKit?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...