我有两个Mutable Arrays,firstArray和secondArray。两者都填充了对象。我想在firstArray中的特定点(不是在结尾而不是在开头)将secondArray中的对象添加到firstArray。有没有办法做到这一点?目前我只使用这行代码:
[self.firstArray addObjectsFromArray:secondArray];
我想要的是FOO CODE:self.firstArray addObjectFromArray AT SPECIFIC POINT X:secondArray,specificpointX)
感谢任何帮助!
答案 0 :(得分:14)
回答我自己的问题,这有效:
int z;
z = (int)self.specificPosition;
// Start adding at index position z and secondArray has count items
NSRange range = NSMakeRange(z, [secondArray count]);
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:range];
[self.firstArray insertObjects:secondArray atIndexes:indexSet];
答案 1 :(得分:1)
查看NSMutableArray的文档。
您只需使用insertObject:AtIndex:
功能。
我在下面列出了一个简单的示例,其中我创建了一个大小为10的数组,并在索引5处添加了一个对象。
NSMutableArray *myArray = [NSMutableArray arrayWithCapacity:10];
[myArray insertObject:@"Hello World" AtIndex:5];
我希望这会有所帮助。
答案 2 :(得分:0)
<强>夫特:强>
let insetIndex = 3 // your any insert index
var array1 = ["1", "2", "3", "4", "5"]
let array2 = ["10", "11"]
array1.insert(contentsOf: array2, at: insetIndex)
<强> OC 强>
int loc = 3; // your any insert index
NSMutableArray *array1 = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
NSMutableArray *array2 = [NSMutableArray arrayWithObjects:@"10", @"11", nil];
NSRange range = NSMakeRange(loc, array2.count); // NOTE: NSMakeRange(NSUInteger loc, NSUInteger len) len must be your array2.cout, or will crash with differs from count of index set
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:range];
[array1 insertObjects:array2 atIndexes:indexSet];
输出:[“1”,“2”,“3”,“10”,“11”,“4”,“5”]