В общем, вы должны быть осторожны при настройке представлений в viewDidLoad
, а не в конструкторе классов. Например, вы должны настроить представление панели запуска в viewDidLoad
, а не в конструкторе контроллера представления панели запуска, иначе ваш модуль запуска станет пустым после предупреждения о памяти.
В случае TTTableViewController, однако, это (обычно) не применяется, потому что вы не настраиваете табличное представление вручную. У меня была та же проблема, что и у вас, и в конце концов я ее разыскал: я переопределил viewWillDisappear:
и забыл позвонить [super viewWillDisappear:animated]
. Это означало, что некоторые из флагов, которые контроллер Three20 поддерживает относительно состояния представления, не были обновлены правильно.
Я также обнаружил, что было бы полезно переопределить didReceiveMemoryWarning
для вызова [self setEditing:NO]
перед вызовом super
; Я обнаружил, что в противном случае состояние табличного представления запуталось (это не имеет значения, если вы не используете режим редактирования для своей таблицы).
Наконец, в Three20 есть ошибка, которая означает, что таблицы в режиме загрузки / очистки / ошибки не будут восстановлены должным образом; см. обсуждение в сообщении в блоге TwoCentStudios и предлагаемое исправление для github .