Реализация NSSortDescriptor в iphone?

У меня есть 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];

person Rajesh    schedule 29.11.2011    source источник


Ответы (1)


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

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

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

Спасибо,

person Ravin    schedule 29.11.2011