Objective c 初始化空数组

Objective c 初始化空数组,objective-c,Objective C,在Objective-C中,我需要初始化null/nil数组(不确定使用哪一个) 我有以下代码: NSMutableArray * ObjectIndex = [[NSMutableArray alloc] initWithCapacity:maxObjectId]; for ( int i = 0; i < maxObjectId; i++ ) { [ObjectIndex setObject:nil atIndexedSubscript:i]

在Objective-C中,我需要初始化null/nil数组(不确定使用哪一个)

我有以下代码:

    NSMutableArray * ObjectIndex = [[NSMutableArray alloc] initWithCapacity:maxObjectId];

    for ( int i = 0; i < maxObjectId; i++ )
    {
         [ObjectIndex setObject:nil atIndexedSubscript:i];
    }

这就是
NSNull
的用途。从文件中:

NSNull类定义了一个用于表示null的单例对象 集合对象中的值(不允许零值)

因此,您可以使用
[NSNull null]
而不是
nil
填充数组:

for (int i = 0; i < maxObjectId; i++ )
{
     ObjectIndex[i] = [NSNull null];
}

注意:Objective-C实例变量的名称通常以小写字母开头,因此
objectIndex
将是一个更好的名称。

这就是
NSNull
的用途。从文件中:

NSNull类定义了一个用于表示null的单例对象 集合对象中的值(不允许零值)

因此,您可以使用
[NSNull null]
而不是
nil
填充数组:

for (int i = 0; i < maxObjectId; i++ )
{
     ObjectIndex[i] = [NSNull null];
}

注意:Objective-C实例变量的名称通常以小写字母开头,因此,
objectIndex
将是一个更好的名称。

与其使用稀疏数组,不如使用一个以数字为键的NSMutableDictionary?这样,您就不必担心预填充空值


或者,如果您真的想使用数组,我建议您使用addObject:或insertObject:atIndex:

初始化,而不是使用稀疏数组,为什么不使用以数字为键的NSMutableDictionary呢?这样,您就不必担心预填充空值


或者,如果您真的想使用数组,我建议您使用addObject:或insertObject:atIndex:

简单初始化!你可以这样做

NSMutableArray * ObjectIndex = [[NSMutableArray alloc] initWithCapacity: maxObjectId];
for(int i=0 ; i< maxObjectId ; i++) {
    [ObjectIndex addObject:[NSNull null]];
}
NSMutableArray*ObjectIndex=[[NSMutableArray alloc]initWithCapacity:maxObjectId];
for(int i=0;i
简单!你可以这样做

NSMutableArray * ObjectIndex = [[NSMutableArray alloc] initWithCapacity: maxObjectId];
for(int i=0 ; i< maxObjectId ; i++) {
    [ObjectIndex addObject:[NSNull null]];
}
NSMutableArray*ObjectIndex=[[NSMutableArray alloc]initWithCapacity:maxObjectId];
for(int i=0;i
您是否尝试过[ObjectIndex setObject:@“aIndexedSubscript:i]???您是否尝试过[ObjectIndex setObject:@“aIndexedSubscript:i]???