Если я пытаюсь разобраться BL_Player
их playerScore
собственности:Проблема сортировки пользовательских объектов в NSArray численно
NSArray *sortedPlayers = [players sortedArrayUsingComparator: ^(BL_Player *a1, BL_Player *a2) {
return [a1.playerScore compare:a2.playerScore options:NSNumericSearch];
ИЛИ
NSArray *sortedPlayers = [players sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSInteger first = [(BL_Player *)a playerScore];
NSInteger second = [(BL_Player *)b playerScore];
return [first compare:second options:NSNumericSearch];
}];
оба из которых возвращают плохих типов приемников. Что не так с выполнением сравнений по ints или NSInteger?
метод сравнения работает для NSNumber, но не для int или NSInteger – Ritu
... поэтому с любыми настройками компилятора, это никогда не должно компилироваться. – gnasher729