【发布时间】:2012-08-07 08:17:55
【问题描述】:
我有一个视图控制器,它获取由它推送的视图控制器设置的属性。
基本上,我有类似的东西
- (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 再次加载,但我在segue 中设置的importantData 属性现在是nil,因为segue 没有再次被触发。
我该怎么办?我是否应该将所有状态存储在某个地方...?
【问题讨论】:
标签: ios cocoa-touch uiviewcontroller segue