将数组从一个视图添加到另一个视图并保留值

时间:2011-06-29 17:40:51

标签: objective-c ios cocoa-touch nsmutablearray

我有四个视图,有四个数组。一旦我从一个视图导航,我就将该特定数组添加到我的主数组中。

最初这个主数组什么都没有,并且当应用程序使用'init'方法运行时分配。它没有视图,它是NSObject的子类中的数组。

最后,主数组应包含{viewarray1,viewarray2,viewarray3,viewarray4}。

导航到下一个视图时,每个数组都会添加到主数组中。

我的实施有什么问题吗?可以在masterArray方法中分配init吗?每当我向masterArray添加一个对象时,我NSLog就会显示(null)

如何让主数组保留整个应用程序的值?

有关守则的一些信息

我在-(init)方法

中的另一个类中初始化我的主数组
masterArray = [[NSMutableArray alloc] init ];

在从另一个视图向MasterArray添加对象时,我引用该类,然后为该类创建一个对象,并将其添加为propertysynthesize。然后我用

[self.thatClassObject.masterArray addObject:self.viewArray1];

1 个答案:

答案 0 :(得分:1)

有两种方法可以用来初始化它,我可以随意思考。首先,您可以在app委托中分配/初始化数组。这将确保在其余视图有机会添加之前创建它。

编辑:我只能想到这样做的一种方式,因为Josh Caswell指出了一个很好的事实,即类初始化不适用于这种情况。您最好在应用程序委托中调用数组的alloc / init,或者先将视图设置为关键窗口。您必须从那里将其引用到其他类