NSMutableArray – 在开始时添加数组
刷新情况是一个简单的拉动。 我有数据加载到表中,并在后端有一个可变数据数组,我收到一个新的数据数组,并希望在现有数组的开始添加这个完整的数组。
一种解决方法是使用新到达的数据创build新数组,然后使用addObjectsFromArray:
方法将以前的数组添加到其中。 是否有一些解决方法,直接添加新的数据数组到前一个数组的开始?
首先,build立一个NSIndexSet
。
NSIndexSet *indexes = [NSIndexSet indexSetWithIndexesInRange: NSMakeRange(0,[newArray count])];
现在,使用NSMutableArray
的insertObjects:atIndexes:
[oldArray insertObjects:newArray atIndexes:indexes];
或者,有这种方法:
oldArray = [[newArray arrayByAddingObjectsFromArray:oldArray] mutableCopy];
NSMutableArray
提供了insertObjects:atIndexes:
方法,但是使用addObjectsFromArray:
方法可以更容易地追加你的build议。
-insertObject:atIndexes:
很简单,应该(我相信)比使用-addObjects
和交换数组更有效率。 它可能最终会看起来像这样:
[existingResults addObjects:newResults atIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, newResults.count)]]`
创build一个新的数组可能是你最好的解决scheme,但你也可以使用一个循环
NSUInteger index; index = 0; for ( id item in sourceArray ) { [destArray insertObject:item atIndex:index]; index++; }
只是简单的方法:
NSMutableArray *arrayTmp = [firstArr addObjectsFromArray:myArray]; myArray = arrayTmp;