5

在 CI 中可以简单地声明一个这样的数组:

int array[500]; 

声明一个大小为 500 的数组,以后可以填充该数组。是否可以在 NSArray 中做同样的事情?我了解 NSMutableArray 有 arrayWithCapacity 类方法来“创建”和空数组(或至少声明要稍后填充的数组)。有没有办法为 NSArray 做类似的事情,因为我知道我想要稍后在“for”循环中填充内容的数组的确切大小。

谢谢

4

1 回答 1

2

从技术上讲,int array[500];它不会创建一个空数组 - 它会创建一个充满零的数组。由于s 是不可变的,因此如果您希望以后能够填充它NSArray,则需要使用它。NSMutableArray

您可以创建一个具有特定容量的数组,然后将对象放入其中,如下所示:

NSMutableArray *array = [NSMutableArray arrayWithCapacity:500];
for (int i = 0 ; i != 500 ; i++) {
     [array addObject:@(i)];
}

由于NSMutableArrayis an NSArray,您可以在 as 方法中创建它NSMutableArray*,然后将其作为NSArray*调用者返回。

于 2012-05-16T16:30:16.807 回答