Как я могу сохранить историю моей навигации после предупреждения памяти? - PullRequest
0 голосов
/ 30 августа 2011

В моем приложении у меня есть viewcontroller, который выдает UIImagePickerController, который выдает memory warning. После многих исследований я не нашел решения, чтобы предотвратить это предупреждение.

Проблема в том, что: когда мое приложение получает memory warning, история навигации кажется потерянной, и когда пользователь нажимает кнопку «Назад», мое приложение запускает первый контроллер. (например, когда мое приложение запускается)

Как мне сохранить историю навигации после memory warning? Или лучше, как я могу удалить это memory warning с UIImagePickerController? (Я перепробовал множество решений, найденных в stackoverflow.com и google.com)

Другое решение для меня - не дать memory warning раскрыть все данные моего контроллера.

1 Ответ

0 голосов
/ 31 августа 2011

Я не могу помочь вам с предупреждением о памяти, не глядя на код, но кажется, что TTNavigator отправляет вас обратно к первому контроллеру представления в стеке, потому что он не может сохранить другие.

Вы наследуете от TTViewController? Если нет, вы должны попробовать это. Во-вторых, если у вас по-прежнему возникают проблемы после наследования от TTViewController, попробуйте реализовать следующие методы в вашем контроллере представления:

- (BOOL)persistView:(NSMutableDictionary*)state {
  // Save important state information into the state dictionary
  // provided to you and return yes to tell TTNavigator to persist
  // this view controller
  return YES;
}

- (void)restoreView:(NSDictionary*)state {
  // Read the values you saved in state and restore your view
  // controller's state
}

Эти методы определены в UIViewControllerAdditions.h в проекте Three20UI. Надеюсь, это поможет.

...