Sort array of objects by their NSDate property
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How to sort an NSMutableArray with custom objects in it?
如何通过访问对象的nsdate属性对对象数组进行排序?
我知道可以在日期数组中使用
感谢所有的答案,我遇到了这个解决我问题的答案。请查看nsgod的答案。
这是感谢用户的代码:nsgod:
1 2 3 4 5 6 | NSSortDescriptor *dateDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"startDateTime" ascending:YES]; NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor]; NSArray *sortedEventArray = [nodeEventArray sortedArrayUsingDescriptors:sortDescriptors]; |
1 2 | NSSortDescriptor* sortByDate = [NSSortDescriptor sortDescriptorWithKey:@"nsdatepropertyname" ascending:YES]; [mutableArray sortUsingDescriptors:[NSArray arrayWithObject:sortByDate]]; |
你可以使用:
1 2 3 4 5 | NSArray *sortedArray = [mutableArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { NSDate *first = [(Person*)a birthDate]; NSDate *second = [(Person*)b birthDate]; return [first compare:second]; }]; |
或查看此链接
有一个方法叫做
可以重写自定义类中的Compare方法,以便它比较自定义类的两个对象,并根据对象上的日期返回适当的nsComparisonResult。
Eg:< BR>
1 2 3 4 | -(NSComparisonResult)compare:(YourClass*)otherObject { return [self.date compare:otherObject.date]; } |