我有数组的对象,在每个对象中我在一个字符串中有不同类型的字符串我从xml解析得到日期,现在我的任务是根据时间顺序对整个数据进行排序(比如在日期之前到当前日期)然后在日期之后)。我有两个问题。
答案 0 :(得分:3)
其中一个选项是使用比较器块。你没有提供足够的信息,所以我做了一些假设:
代码
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
array = [array sortedArrayUsingComparator: ^(id a, id b) {
NSArray *array1 = (NSArray *)a;
NSArray *array2 = (NSArray *)b;
NSDate *date1 = [dateFormatter dateFromString:[array1 objectAtIndex:2]];
NSDate *date2 = [dateFormatter dateFromString:[array2 objectAtIndex:2]];
return [date1 compare:date2]
}
但是你也应该考虑有一个代表数据的类 在这种情况下,您将跨越原始dater并为每个数据集创建一个对象,将其放入NSMutableArray并对其进行排序。类似。