【问题标题】:How to stop reallocation of an NSArray in iPhone?如何停止在 iPhone 中重新分配 NSArray?
【发布时间】:2012-10-01 18:22:19
【问题描述】:
我在viewDidload 方法中使用NSArray 和alloc。
我的应用程序中有两个视图,并从这些视图中将数据添加到此数组中。根据[array count]的表格显示的总行数。
但我面临的问题是,当我从另一个视图调用我正在使用此数组的视图时,然后此数组重新分配,因此我的数组大小再次从 0 开始。我不希望那样。我希望数组大小从它的最后一个位置开始。
所以请帮我解决这个问题,我声明这个数组或任何替代方法来做到这一点。
【问题讨论】:
标签:
iphone
ios
xcode
arrays
nsmutablearray
【解决方案1】:
您需要使数组延迟加载。
让数组所在的视图有一个如下所示的 getter:
-(NSArray *)theArray {
if(theArray == nil) {
theArray = [[[NSArray alloc] init] autorelease]; //If using ARC, don't autorelease
}
return theArray;
}
在你的 firstView 的viewDidLoad 中,只需像这样调用数组:
[self theArray];
现在在您的第二个视图中,像这样调用第一个数组
[firstView theArray];