我有一个视图控制器,它获取由它推送的视图控制器设置的属性。
基本上,我有类似的东西
- (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
然后再推另一个视图控制器,然后发出内存警告,我ThingViewController
的被卸载以释放内存。然后我弹出第三个视图控制器并ThingViewController
再次加载,但importantData
我在 segue 中设置的属性nil
现在是因为 segue 没有再次被触发。
我该怎么办?我是否应该将我所有的状态存储在某个地方......?