【发布时间】:2012-11-24 01:06:39
【问题描述】:
环顾了一会儿,找不到答案,但这似乎是一件很简单的事情。我想创建一个可容纳 100 个对象(门)的 NSArray,然后循环遍历为数组中的每个索引创建一个新门。当我初始化 NSArray 时,如果不手动为 100 个新门编写代码,我就找不到办法做到这一点。我知道我可以通过创建一个 NSMutableArray 并使用 addObject 来做到这一点,但我听说 NSArrays 更快,我想知道如何做到这一点以供将来参考。
这就是我基本上想要做的事情:
NSArray *doors = [[NSArray alloc]init]; //with size 100?
for (int i = 0; i < [doors count]; i++)
[[doors objectAtIndex:i] = [[Door alloc]init]];
【问题讨论】:
-
许多 Cocoa 类都有可变和不可变的形式——NSString、NSArray、NSDictionary 等。当您查看NSString 的文档时,您将在第二段中看到可变形式的提及,以及对其描述的“热链接”。这就是隐藏所有“好东西”的地方。 (但是,在查看可变描述时,您还需要回溯到非可变形式来查找,例如,
rangeOfString或其他一些查询类型函数。)
标签: iphone objective-c arrays nsmutablearray nsarray