Что конкретно входит в «финализирующую» часть?Я предполагаю, что вы сохраняете какое-то состояние в контроллере представления для различных полей, а затем хотите записать это в файл базы данных перед переходом к следующему представлению?
Когда дело доходит до «редактирования контроллеров представления», я нахожуХороший способ сделать это - сделать так, чтобы контроллер представления непосредственно записывал в простой объект модели, который вводится через свойство, прежде чем передать его в контроллер nav.
Так что-то вроде:
/* Somewhere in the app delegate, like application:didFinishLaunching */
DatabaseFileModel *model = ...;
viewController1.model = model;
viewController2.model = model;
/* ... */
[self.window makeKeyAndVisible];
Затем каждый контроллер представления выполняет запись в эту модель, устанавливая свойства и т. Д., Когда текстовое поле завершает редактирование или что-то еще.Наличие контроллера представления для прямой записи в объект означает, что вам не нужно обрабатывать viewWillDisappear и т. Д.
Если вам все еще нужно это сделать, вы можете добавить делегат в контроллер навигации и обработать эти два метода:
– navigationController:willShowViewController:animated:
– navigationController:didShowViewController:animated:
Для получения дополнительной информации см. Документацию UINavigationControllerDelegate .
Это позволит вам хранить логику в одном месте, а не распределять ее в каждом контроллере представления.