我需要一个在初始声明中不包含任何内容的字符串数组,因为我会将它用作我将从用户那里获得的字符串存储。我会通过循环来做到这一点。有人知道如何使用NSArray声明一个没有确定大小的数组吗?谢谢!
答案 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)
[[NSArray alloc] init]
并使用array = [array arrayByAddingObject:string]
[[NSMutableArray alloc] init]
并使用[array addObject:string]