Реализация NSSortDescriptor в iphone? - PullRequest
2 голосов
/ 29 ноября 2011

У меня есть nsmutablearray с именем nsmarrMedicineInfo.Я хочу отсортировать элемент, используя NSSortDescriptor.Когда я выполняю следующий код, он показывает NSUnknownKeyException.Не могу найти какой будет ключ массива.

NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"sort" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)] autorelease];
NSArray *sort = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [nsmarrMedicineInfo sortedArrayUsingDescriptors:sort];

1 Ответ

1 голос
/ 29 ноября 2011

Здесь ключом будет одно из свойств (пара ключ-значение) вашего пользовательского объекта массива nsmarrMedicineInfo, по которому вы хотите отсортировать массив.Как и в документе Apple:

Экземпляр NSSortDescriptor описывает основу для упорядочивания объектов путем указания свойства, которое будет использоваться для сравнения объектов, метод для использования для сравнения свойств ,и должно ли сравнение быть восходящим или нисходящим.

Но если nsmarrMedicinInfo объект состоит только из строк, то вы можете использовать метод sortedArrayUsingSelector вместо sortDescriptor.

Спасибо

...