在 CI 中可以简单地声明一个这样的数组:
int array[500];
声明一个大小为 500 的数组,以后可以填充该数组。是否可以在 NSArray 中做同样的事情?我了解 NSMutableArray 有 arrayWithCapacity 类方法来“创建”和空数组(或至少声明要稍后填充的数组)。有没有办法为 NSArray 做类似的事情,因为我知道我想要稍后在“for”循环中填充内容的数组的确切大小。
谢谢
在 CI 中可以简单地声明一个这样的数组:
int array[500];
声明一个大小为 500 的数组,以后可以填充该数组。是否可以在 NSArray 中做同样的事情?我了解 NSMutableArray 有 arrayWithCapacity 类方法来“创建”和空数组(或至少声明要稍后填充的数组)。有没有办法为 NSArray 做类似的事情,因为我知道我想要稍后在“for”循环中填充内容的数组的确切大小。
谢谢
从技术上讲,int array[500];
它不会创建一个空数组 - 它会创建一个充满零的数组。由于s 是不可变的,因此如果您希望以后能够填充它NSArray
,则需要使用它。NSMutableArray
您可以创建一个具有特定容量的数组,然后将对象放入其中,如下所示:
NSMutableArray *array = [NSMutableArray arrayWithCapacity:500];
for (int i = 0 ; i != 500 ; i++) {
[array addObject:@(i)];
}
由于NSMutableArray
is an NSArray
,您可以在 as 方法中创建它NSMutableArray*
,然后将其作为NSArray*
调用者返回。