我有四个视图,有四个数组。一旦我从一个视图导航,我就将该特定数组添加到我的主数组中。
最初这个主数组什么都没有,并且当应用程序使用'init'方法运行时分配。它没有视图,它是NSObject
的子类中的数组。
最后,主数组应包含{viewarray1,viewarray2,viewarray3,viewarray4}。
导航到下一个视图时,每个数组都会添加到主数组中。
我的实施有什么问题吗?可以在masterArray
方法中分配init
吗?每当我向masterArray
添加一个对象时,我NSLog
就会显示(null)
如何让主数组保留整个应用程序的值?
有关守则的一些信息:
我在-(init)
方法
masterArray = [[NSMutableArray alloc] init ];
在从另一个视图向MasterArray添加对象时,我引用该类,然后为该类创建一个对象,并将其添加为property
和synthesize
。然后我用
[self.thatClassObject.masterArray addObject:self.viewArray1];
答案 0 :(得分:1)
有两种方法可以用来初始化它,我可以随意思考。首先,您可以在app委托中分配/初始化数组。这将确保在其余视图有机会添加之前创建它。
编辑:我只能想到这样做的一种方式,因为Josh Caswell指出了一个很好的事实,即类初始化不适用于这种情况。您最好在应用程序委托中调用数组的alloc / init,或者先将视图设置为关键窗口。您必须从那里将其引用到其他类