如何将对象/值添加到NSMutableArray上的某个元素?

时间:2016-03-14 07:35:02

标签: ios objective-c nsmutablearray

我只知道方法addObject,它是将对象添加到数组中的下一个元素。我希望能够将对象添加/设置/更新到NSMutableArray的任意位置,例如:

arr[105] = @(true);
arr[709] = @(30);
arr[1010] = @"Hello world!";
NSLog (@"%@", arr[1010]);

我一直在尝试这样的事情,但下次我试图检索这个值时,它说没有。这该怎么做?感谢。

编辑:上次我试过,它给了我错误:index 1010 beyond bounds for empty array.

1 个答案:

答案 0 :(得分:-1)

在创建数组时指定大小,指定的大小被视为“提示”;数组的实际大小仍为0.这意味着您无法在大于当前数组计数的索引处插入对象。例如,如果一个数组包含两个对象,其大小为2,那么您可以在索引0,1或2处添加对象。索引3是非法的并且超出范围。

https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/index.html

了解详情

下面的方法用于用新对象替换索引处的现有对象

[self.arr replaceObjectAtIndex:<#(NSUInteger)#> withObject:<#(nonnull id)#>]

下面的方法用于在索引

处插入新对象
[self.arr insertObject:<#(nonnull id)#> atIndex:<#(NSUInteger)#>]

前:

如果对象已在索引处可用并替换为新对象

[self.arrayBuyers replaceObjectAtIndex:1010 withObject:@"Hello world!"]

在索引

处添加新对象
[self.arr insertObject:1 atIndex:@"Hi"];