我想排序我的数组,但它似乎无法可靠地工作。SortedArrayUsingComparator not working accurate
这里是排序的代码。基本请求priorityID具有从1-5 值例如:
sortedArray = [self.selectedReqArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSLog(@"Value A: %@", [NSNumber numberWithInteger:[(Request*)a priorityID]]);
NSLog(@"Value B %@", [NSNumber numberWithInteger:[(Request*)b priorityID]]);
NSNumber *first = [NSNumber numberWithInt:[(Request*)a priorityID]];
NSNumber *second = [NSNumber numberWithInt:[(Request*)b priorityID]];
return [first compare:second];
}];
self.sortedReqArray = [NSMutableArray arrayWithArray:sortedArray];
有时它的正确排序1-5,但有时排序1 2 4 5 3 ...
然后,当我去看一下NSLog,当它们应该是1-5时,它就会吐出很大的价值。
下面是示例输出 Value B 168492640 Value A: 168492640 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912 Value B 168492640 Value A: 174580912
这是怎么回事?谢谢!
哟你是炸弹!是的,解决了这个问题,我修改它的优雅版本。非常感谢! – Alan