プッシュ元のView Controllerによって設定されたプロパティを取得するView Controllerがあります。
基本的に、私は次のようなものを持っています
- (void)doStuff {
[self performSegueWithIdentifier:@"segueToThing" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([[segue identifier] isEqualToString:@"segueToThing"])
[(ThingViewController *)[segue destinationViewController] setImportantData:[self importantData]];
}
問題は、プッシュThingViewController
してから別のView Controllerをその上にプッシュすると、メモリ警告が発行され、ThingViewController
アンロードされてメモリが解放されることです。次に、3 番目のビュー コントローラーをポップすると、ThingViewController
再び読み込まれますがimportantData
、セグエで設定したプロパティは、セグエがnil
再び起動されなかったためです。
これについてどうすればよいですか?すべての状態をどこかに保存することになっていますか?