我想排序我的數組,但它似乎無法可靠地工作。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