在Objective-C中声明没有确定大小的数组

时间:2013-06-07 10:10:49

标签: ios objective-c nsarray

我需要一个在初始声明中不包含任何内容的字符串数组,因为我会将它用作我将从用户那里获得的字符串存储。我会通过循环来做到这一点。有人知道如何使用NSArray声明一个没有确定大小的数组吗?谢谢!

4 个答案:

答案 0 :(得分:5)

我认为你的意思是NSMutableArray

NSMutableArray可以扩展以容纳任意数量的对象(给定内存限制)。只需按常规方式进行:[[NSMutableArray alloc] init]然后添加对象。

每个NSMutableArray都有初始容量。如果你超过这个数量的对象,一些书籍会在幕后发生,以调整更大的容量,但这不是你需要做任何事情。

如果您知道NSMutableArray将要保留X对象,而不是更多,您可以指定该阵列具有该容量:

NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:X];

这意味着不会在幕后重新调整数组的大小。这是性能/效率的提高,但即使您不这样做,您的代码仍然有效。

答案 1 :(得分:4)

NSMutableArray,没有明确的大小,

NSMutableArray *array=[[NSMutableArray alloc] init];

答案 2 :(得分:3)

只需使用NSMutableArray即可添加和删除元素(即 mutable ):

NSMutableArray *array = [[NSMutableArray alloc] init];

或使用new Objective-C literals语法:

NSMutableArray *array = @[];

答案 3 :(得分:2)

  1. [[NSArray alloc] init]并使用array = [array arrayByAddingObject:string]

  2. [[NSMutableArray alloc] init]并使用[array addObject:string]