我正在尝试对我的数组进行排序,但它似乎无法可靠地工作。
这是排序的代码。基本上 Request 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
怎么了?谢谢!