如何仅使用大小初始化NSArray,以便稍后使用for循环填充它?我的for循环将是
for (int i = 0; i < [myArray count]; i++) {
myArray[i] = someData;
}
答案 0 :(得分:9)
您不需要使用特定尺寸对其进行初始化 - 您可以稍后添加对象:
NSMutableArray * myArray = [NSMutableArray array];
for (int i = 0; i < 100; i++) {
[myArray addObject:someData];
}
如果您提前知道尺寸,则会有轻微的性能提升:
NSMutableArray * myArray = [NSMutableArray arrayWithCapacity:100];
但这是可选的。
答案 1 :(得分:2)
NSNull
是用于表示未设置,无效或不存在的对象的类。因此,您可以使用此类的实例将数组填充到特定大小。
NSUInteger sizeOfArray = 10;
NSMutableArray *someArray = [NSMutableArray array];
for (NSUInteger i = 0; i < sizeOfArray; i++) {
[someArray addObject:[NSNull null]];
}
此外,如果位置someArray[i] = xyz;
的值不存在,则无法使用语法i
,因为它会导致越界错误。