我正在编写一个从外部源(Twitter)请求数据的应用程序,该源按时间顺序作为有序数组返回:
外部数组
我将这些项目添加到另一个保留相同顺序的数组中:
我的数组
然后,我再次查询外部源并收到另一个新项目数组,看起来像这样:
新的外部数组
我将它们添加到我的数组,并得到这个:
我的数组
问题是外部数组数据按时间顺序进行排序,最初的最新项最初是A,因为进行的更新现在是E。因此您可以看到数组的排序现在是错误的,我需要的是:
我的数组
我的代码当前看起来像这样:
NSMutableArray *myArray = [[NSMutableArray alloc] init];
...
- (void)getDataFromExternalSource:(NSArray *)externalArray
{
for(NSDictionary *item in externalArray) {
// Need loop so I can do some extra stuff here with each item object (not shown in this example.)
[myArray addObject: item];
}
}
最佳答案
NSArray *newArray = [externalArray arrayByAddingObjectsFromArray:myArray];
[myArray release];
myArray = [newArray mutableCopy];
有什么理由不这样做吗?
关于objective-c - 合并两个数组,同时保留原始数组顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5815695/