加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – IOS:NSMutableArray initWithCapacity

发布时间:2020-12-15 02:00:26 所属栏目:百科 来源:网络整理
导读:我有这种情况 array = [[NSMutableArray alloc] initWithCapacity:4]; //in viewDidLoadif (index == 0){ [array insertObject:object atIndex:0];}if (index == 1){ [array insertObject:object atIndex:1];}if (index == 2){ [array insertObject:object a
我有这种情况

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之后,它不行,为什么?

解决方法

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

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];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读