【发布时间】:2013-11-22 02:56:08
【问题描述】:
我需要使用 NSMutableArray 内部对象的属性重新排序。
我为以前的项目中的日期做了这个,但这个方法不接受双打:
NSUInteger rowIndex = [self.alist indexOfObject:assignment inSortedRange:NSMakeRange(0, self.alist.count) options:NSBinarySearchingInsertionIndex usingComparator:^(AssignmentInfo *obj1, AssignmentInfo *obj2) {
NSDate *date1 = obj1.dateTime;
NSDate *date2 = obj2.dateTime;
if ([date1 compare:date2] == NSOrderedAscending) {
return NSOrderedAscending;
}
if ([date1 compare:date2] == NSOrderedDescending) {
return NSOrderedDescending;
}
return NSOrderedSame;
}];
因此,我需要一种方法来重新排序数组self.communitiesArray,以获得数组内社区对象的双精度值。 self.community.distanceFromUser 是双倍的。
使用下面的一些答案我得到一个错误:
NSUInteger rowIndex = [self.communitiesArray indexOfObject:community inSortedRange:NSMakeRange(0, self.communitiesArray.count) options:NSBinarySearchingInsertionIndex usingComparator:^(Community *obj1, Community *obj2) {
错误提示:不兼容的块指针类型将“void (^)(Community *_strong, Community *_strong)”发送到“NSComparator”类型的参数(又名“NSComparisonResult (^)(__strong id, __strong id)')
【问题讨论】:
标签: ios objective-c arrays sorting