Сохранение состояния для контроллеров представления с пользовательскими делегатами или источниками данных
Я пытаюсь использовать iOS 6+ (мое приложение 7.0+), чтобы сохранить представление, которое представлено модально из другого View Controller. Как таковой, он имеет типичный образец отклонения контроллера модального представления:
TNTLoginViewController.h содержит@protocol TNTLoginViewControllerDelegate
- (void)TNTLoginViewControllerDismiss:(TNTLoginViewController *)controller;
@end
@interface TNTLoginViewControllerDelegate : NSObject
@interface TNTLoginViewController : UIViewController
@property (weak, nonatomic) IBOutlet id delegate;
- (IBAction)getStarted:(id)sender;
@end
getStarted: реализация- (IBAction)getStarted:(id)sender
{
// Perform login
...
// Dismiss me
[self.delegate TNTLoginViewControllerDismiss:self];
}
TNTLoginViewControllerDismiss: метод на делегате, который представил модальное- (void)TNTLoginViewControllerDismiss:(TNTLoginViewController *)controller
{
[self dismissViewControllerAnimated:YES completion:nil];
}
И все это работает как шарм! До сохранения государства. Проще говоря, я неНе знаю, как TNTLoginViewController сохранит свой делегат. Я понимаю, почему это можетт: этопросто указатель! Поэтому я попробовал различные способы получения делегата:
Восстановление класса: к сожалению, как метод класса,viewControllerWithRestorationIdentifierPath:coder:
Безразлично»Это не поможет мне указать на мое представление View Controller.Установить мое представление ВК как мой модальный ВК 'S делегат в раскадровке: Xcode не будетне позволяю мне нарисовать эту связь, даже когда я представляю ВКS класс публично принялTNTLogingViewControllerDelegate>
Протокол в его заголовке. Это может быть отдельной проблемой, или это может быть запрещено.Используйте уровень приложения-делегатаapplication:viewControllerWithRestorationIdentifierPath:coder:
вернуть модальный контроллер представления с его делегатом, установленным для моего представления View Controller. Я должен быть в состоянии получить это представление VC от делегата приложения, но это может сработать.Сейчас я иду с № 3, но если есть лучшее решение, которое кто-то может порекомендовать, я был бы в восторге.
Установки, которые привели бы к подобным проблемам:
Настройка источника данных, скажем, для табличного представления.