列表 1 包含对象 As 的列表,列表 2 包含对象 Bs 的列表。
对象 A 包含
date
quantity
message
对象 B 包含
date
email
first name
last name
对象 As 和 Bs 都具有共同的属性日期。无论如何将它们合并到一个列表中并按日期排序。
列表 1 包含对象 As 的列表,列表 2 包含对象 Bs 的列表。
对象 A 包含
date
quantity
message
对象 B 包含
date
email
first name
last name
对象 As 和 Bs 都具有共同的属性日期。无论如何将它们合并到一个列表中并按日期排序。
您应该将它们合并为一个数组(NSArray 的 arrayByAddingObjectsFromArray:,对吗?),然后您可以使用 NSArray 的 sortedArrayUsingComparator:
NSArray *mergedArray = [array1 arrayByAddingObjectsFromArray:array2];
NSArray *orderedArray = [mergedArray sortedArrayUsingComparator: ^(id obj1, id obj2) {
NSDate *date1 = [obj1 date];
NSDate *date2 = [obj2 date];
return [date1 compare:date2];
}];
我还没有测试过代码,但它会是这样的。
NSArray *listA = [NSArray arrayWithObjects:objA0, objA1, objA2, nil];
NSArray *listB = [NSArray arrayWithObjects:objB0, objB1, objB2, nil];
NSMutableArray *allObjects = [NSMutableArray arrayWithArray:listA];
[allObjects addObjectsFromArray:listB];
[allObjects sortUsingComparator:(NSComparator)^(id obj1, id obj2){
NSDate *date1 = obj1.date;
NSDate *date2 = obj2.date;
return [date1 compare:date2]; }];