2015-04-18 4 views
0

Я хотел бы сохранить некоторые данные в NSUserDefaults для пользователя, оставляющего представление таблицы в стеке UINavigation. Я хотел бы иметь возможность использовать кнопку возврата по умолчанию (кнопка с шевром), сохраняя при этом надежный способ сохранения данных. Я пробовал использовать метод viewDidDisappear, но я не уверен, насколько это надежно. Я беспокоюсь, что это может быть вызвано, когда приложение будет убито (или любое другое системное действие, которое может вызвать метод). Единственный способ выйти из контроллера просмотра - через кнопку «Назад». Я не уверен, что еще попробовать, если то, что я попробовал, это метод, который можно использовать, пожалуйста, скажите. Благодарю.Возврат в стеке навигации с помощью кнопки «Назад»

ответ

0

Возможно, использование UINavigationControllerDelegate поможет вам в этом, так что вы будете знать о появлении и нажатии вашего навигационного контроллера.

self.navigationController.delegate = self; 

и в push или pop эта функция делегата вызывается, вы можете проверить контроллер представления, который будет представлен.

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
{ 
     if (viewController.class == [YourPreviousViewController class]) { 
      //back clicked, poping 
     } 
} 
0

Мы столкнулись с той же проблемой и закончили использование специальной кнопки навигационной панели с действием. Было довольно легко воспроизвести обратную стрелку по умолчанию. Причина, по которой мы решили пойти таким путем, заключается в том, что мы обнаружили, что мы не имели достаточного контроля над сохранением данных в противном случае, возможно, что данные могут не сэкономить время до того, как представление было отклонено. Кроме того, в нашем случае пользователь может не захотеть сохранить изменения и просто хочет вернуться из представления. Использование действия позволило нам предупредить пользователя о том, что данные не были сохранены и предоставили им возможность сохранить или нет.

Смежные вопросы