私のアプリには、質問、mcqs の回答、および関連するスコアを含む UIViewController があります。
このコントローラーを他のコントローラーにプッシュしています。つまり、
QuestionViewController *questionController = [delegate getQuestionScreen];
// If Iphone/iPod Touch
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
// If iPhone 5 or new iPod Touch
if([UIScreen mainScreen].bounds.size.height == 568){
questionController = [[QuestionViewController alloc] initWithNibName:@"QuestionViewController" bundle:nil];
} else{
// Regular iPhone
questionController = [[QuestionViewController alloc] initWithNibName:@"QuestionViewController_iPhone4" bundle:nil];
}
}
questionController.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;
[self.navigationController pushViewController:questionController animated:NO];
このコントローラーを使用しているときは、サイドメニュー (facebook など) を開き、新しいコントローラーの選択オプションを開きます。たとえば、HelpController...
DemoViewController *demoController = [[DemoViewController alloc] initWithNibName:@"HelpViewController_iPhone4" bundle:nil];
UINavigationController *navigationController = self.menuContainerViewController.centerViewController;
NSArray *controllers = [NSArray arrayWithObject:demoController];
navigationController.viewControllers = controllers;
[self.menuContainerViewController setMenuState:MFSideMenuStateClosed];
QuestionViewController の前の画面に戻ると、そのコントローラーの新しいオブジェクトを作成する必要があります。その結果、すべての計算と古いデータが新しいものとして失われます。
古いコントローラーを保存して、それを再度ナビゲートしたり、その特定のステータスで再利用したりするにはどうすればよいですか。
質問に関して不明な点があれば、私に聞いてください......