我有一个根 UIViewController 子类,它有一个 UITabBar(我没有使用 UITabBarController)和 5 个用于 5 个视图控制器的选项卡栏项目。每个视图控制器都有一个 UIPickerView。一次只有一个视图控制器被实例化——当一个标签栏项目被选中时,当前的被删除,新的被实例化并添加,旧的被释放(self.oldvc = nil;)。因此,如果用户转到第一个选项卡中选择器的第三行,然后切换到第二个选项卡,然后返回,我希望再次选择选择器的第三行。目前,我有它,因此视图控制器使用 initWithSelectedRowOfFirstComponent:(NSInteger)firstRow secondComponent:(NSInteger).. 等进行实例化,然后在我的根视图控制器(带有标签栏的那个)中,我有一个 ivar缓存每个值。但我不确定。. 有一个更好的方法吗?也许是一个 plist 文件或字典之类的东西。我不知道,你认为最好的方法是什么?谢谢!!
我决定使用 UITabBarController,让内存警告解除分配并使用一个我称为“模型”的类,它是一个单例(使用此宏)来保存要在视图因内存警告而被卸载时使用的数据。