gpt4 book ai didi

objective-c - IOS: NSMutableArray initWithCapacity

转载 作者:IT王子 更新时间:2023-10-29 08:07:33 27 4
gpt4 key购买 nike

我有这种情况

array = [[NSMutableArray alloc] initWithCapacity:4]; //in viewDidLoad

if (index == 0){
[array insertObject:object atIndex:0];
}

if (index == 1){
[array insertObject:object atIndex:1];
}

if (index == 2){
[array insertObject:object atIndex:2];
}

if (index == 3){
[array insertObject:object atIndex:3];
}

但是如果我按顺序插入对象,一切正常,相反,如果我按以下顺序填充数组:0 和 3 之后,它就不能正常工作,为什么???

最佳答案

您不能在 NSMutableArray 中的索引 3 处插入对象,即使它的容量是 4。可变数组具有与其中对象一样多的可用“单元格”。如果你想在可变数组中有“空单元格”,你应该使用 [NSNull null] 对象。这是一个特殊的 stub 对象,意味着这里没有数据。

NSMutableArray *array = [[NSMutableArray alloc] init];

for (NSInteger i = 0; i < 4; ++i)
{
[array addObject:[NSNull null]];
}

[array replaceObjectAtIndex:0 withObject:object];
[array replaceObjectAtIndex:3 withObject:object];

关于objective-c - IOS: NSMutableArray initWithCapacity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5754798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com