0

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

4

4 回答 4

5

我假设你的意思NSMutableArray

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

每个NSMutableArray人都有一个初始容量。如果您超过此数量的对象,则会在幕后进行一些簿记以调整更大的容量,但这不是您需要做的任何事情。

如果您知道 anNSMutableArray将容纳 X 个对象,并且不再有,您可以指定该数组具有该容量:

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

这意味着以后不会在幕后调整数组的大小。这是性能/效率的改进,但即使您不这样做,您的代码仍然可以工作。

于 2013-06-07T10:18:42.457 回答
4

NSMutableArray 没有确定的大小,

NSMutableArray *array=[[NSMutableArray alloc] init];
于 2013-06-07T10:14:57.643 回答
3

只需使用NSMutableArraywhich 允许添加和删除元素(即mutable):

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

或者,使用新的 Objective-C 文字语法:

NSMutableArray *array = @[];
于 2013-06-07T10:17:32.643 回答
2
  1. [[NSArray alloc] init]并使用array = [array arrayByAddingObject:string]

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

于 2013-06-07T10:18:57.377 回答