我必须创建一个动态NSArray,也就是说,我不知道数组的大小或数组将具有的元素.需要动态地将元素添加到数组中.我查看了NSArray类引用.有一个名为arrayWithObjects的方法,应该在初始化数组本身时使用.但我不知道如何实现我需要做的事情.
我需要做一些像下面这样的事情:
NSArray *stringArray = [[NSArray init] alloc] ; for (int i = 0; i < data.size; i++){ stringArray.at(i) = getData(i); }
pgb.. 77
如果你创建了一个,NSArray
你就无法向它添加元素,因为它是不可变的.你应该尝试使用NSMutableArray
.
另外,你颠倒了alloc
和的顺序init
.alloc
创建一个实例并init
初始化它.
代码看起来像这样(假设getData
是一个全局函数):
NSMutableArray *stringArray = [[NSMutableArray alloc] init]; for(int i=0; i< data.size; i++){ [stringArray addObject:getData(i)]; }
Danil.. 7
如果您正在使用不可变数组,这是在数组中添加对象的另一种方法.哪个是线程安全的.
你可以使用arrayByAddingObject
方法.有时候它好多了.以下是对它的讨论:NSMutableArray vs NSArray哪个更好
如果你创建了一个,NSArray
你就无法向它添加元素,因为它是不可变的.你应该尝试使用NSMutableArray
.
另外,你颠倒了alloc
和的顺序init
.alloc
创建一个实例并init
初始化它.
代码看起来像这样(假设getData
是一个全局函数):
NSMutableArray *stringArray = [[NSMutableArray alloc] init]; for(int i=0; i< data.size; i++){ [stringArray addObject:getData(i)]; }
如果您正在使用不可变数组,这是在数组中添加对象的另一种方法.哪个是线程安全的.
你可以使用arrayByAddingObject
方法.有时候它好多了.以下是对它的讨论:NSMutableArray vs NSArray哪个更好