保留NSMutableArray值

时间:2012-04-03 16:23:04

标签: iphone objective-c ios cocoa-touch

我在class2上设置NSMutableArray值。在执行class2函数时填充并保留数组。问题是我需要切换到class1然后从class2调用函数。然后,数组是空的! 我认为问题来自我用来调用class2函数的方法,再次分配时...如何解决?谢谢

class2 *theInstance = [class2 alloc];

[theInstance saveFilesNews:llistaArxius:folderType:originType];

2 个答案:

答案 0 :(得分:0)

您永远不会初始化实例。首先,您的命名惯例很差。类(如class2)应该大写,即Class2。其次,您需要一个比Class2更具描述性的名称。真正的问题是你没有从第一行代码中获得准备好的实例。你在内存中为Class2分配了足够的空间,但它从未被初始化。此外,如果你在Class2中有一个数组,你填充了一些对象,然后在Class1中你想以某种方式替换或访问这些对象,那么该数组需要是Class2的属性, AND < / em> 您需要确保访问已存在的Class2实例的相同引用。如果你分配/初始化一个新的Class2实例,你将有一个空数组。

答案 1 :(得分:0)

如果您从第2级弹出到第1级,那么您将无法执行此操作。因为那时候第2类的所有对象都会被释放。如果是这种情况,则需要在弹出之前将该值传递给Class 1.

你可以在CLass 1中创建一个数组,你可以在Class 2中创建一个数组。我认为你在Class 1上推动Class 2,所以从Class2开始,Class 1将很容易访问。