arrays - 创建一个空的 NSArray

标签 arrays nsmutablearray initialization nsarray declaration

在 C 中我可以简单地声明一个数组,如下所示:

int array[500]; 

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

谢谢

最佳答案

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

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

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

由于 NSMutableArray 是一个 NSArray,因此您可以在方法中将其创建为 NSMutableArray*,然后将其作为 NSArray 返回* 给调用者。

关于arrays - 创建一个空的 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10622630/

相关文章:

ios - 订购带日期的 NSMutableArray

ios - 如何从自定义 View Controller 类加载初始 View Controller

c - 调用函数时 char array[100] 和 char *array 之间的区别?

java - 我可以在 Java 中初始化二维数组的数组/数组列表<int>吗?

java - 将整数读入二维数组

swift - 快速创建饼图

c++ - 作为函数参数传递的 vector 初始值设定项列表

ios - NSArray filterArrayUsingPredicate 从不返回/阻塞执行

ios - 访问 NSMutableArray 时出现问题

objective-c - 如何从 NSMutableArray 子类接收通知