У меня есть следующий изменяемый массив:
NSMutableArray *persons = [[NSMutableArray alloc]initWithObjects:person1, person2, person3, nil];
где каждый человек является объектом, который содержит свойства (NSInteger) personAge и (NSString*) personName. Теперь я хочу отсортировать этот массив по personAge. Итак, я попробовал следующее:
[persons sortUsingComparator:
^NSComparisonResult(id obj1, id obj2)
{
Person *p1 = (Person*)obj1;
Person *p2 = (Person*)obj2;
return [p1.personAge compare: p2.personAge];
}];
NSLog(@"%ld", [persons componentsJoinedByString:@" "]);
Но я получаю сообщение об ошибке «Неверный тип получателя« NSInteger »(он же« длинный »)» в строке возврата. Также у меня есть предупреждение в строке NSLog: «Формат указывает тип« длинный », но аргумент имеет тип« NSString * »». Как это исправить?