我在程序中使用NSMutableArray时遇到问题。
我的视图控制器中包含一个数组,在整个程序过程中添加了字符串。该数组在viewController中声明。
NSMutableArray *tableData;
我试图在同一个视图控制器中运行一个方法,将数组元素保存到表中。当通过视图控制器访问该方法时,如下所示,它可以正常工作
[self saveData];
当我通过app委托调用相同的saveData方法时,该数组似乎不包含任何数据。
listView是appDelegate中的对象,用于引用包含save方法的视图控制器。
ListAppViewController* listView = [[ListAppViewController alloc] init];
[listView saveData];
从applicationWillTerminate方法调用此方法。我认为appDelegate无法使用数组元素,这就是为什么计数为0?
答案 0 :(得分:2)
applicationWillTerminate
基本上从未被调用过。当应用程序进入后台时,您需要触发保存(重新激活)。
答案 1 :(得分:2)
执行ListAppViewController* listView = [[ListAppViewController alloc] init]
时,您将创建视图控制器的新实例。如果打算保存您在该视图控制器中的任何数据,这将无效(因为您没有访问您的应用程序一直在使用的实例)。
以下是你可以做你想做的事情:
applicationWillTerminate
方法ListAppViewControllerList
[self saveData]
。