Objective c 初始化空数组
在Objective-C中,我需要初始化null/nil数组(不确定使用哪一个) 我有以下代码: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]
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]???