Сортировка элементов списка в порядке от А до Я

У меня есть список элементов, и я хочу отсортировать их в порядке от А до Я, как это делает список контактов. Может ли кто-нибудь помочь мне понять, как это сделать? Любая документация по этому вопросу будет оценена.

Спасибо.


person AlienMonkeyCoder    schedule 11.04.2011    source источник
comment
Вы используете UITableView?   -  person Jim Blackler    schedule 11.04.2011
comment
пожалуйста, опубликуйте пример кода/подхода, который вы пробовали до сих пор   -  person trickwallett    schedule 11.04.2011
comment
@Jim: Да, я использую UITableView. По сути, я могу сортировать элементы, используя стандартный алгоритм сортировки, и показывать их, но я хочу отображать их, как это делает список контактов, чтобы пользователь мог напрямую перейти к определенному алфавиту. @TrickWallet: я использовал стандартный алгоритм сортировки пузырьком и отображал отсортированные элементы в UITableView. Я уверен, что должен быть какой-то элемент управления, поддерживаемый Apple, который я могу использовать напрямую, но не получаю его.   -  person AlienMonkeyCoder    schedule 11.04.2011


Ответы (2)


Чтобы отобразить/упорядочить ваши данные в алфавитном порядке, которые в массиве вы должны использовать NSSortDescriptorв devlopers документе X-Code есть руководство по основным данным, и вот оно coreDataBooks, и лучше всего попробовать получить помощь оттуда, посмотреть, как они отображают данные в алфавитном порядке. также см. здесь.

person Sudhanshu    schedule 11.04.2011

NSSortDescriptor *sortByName= [[NSSortDescriptor alloc] initWithKey:@"self" ascending:NO selector:@selector(compareName:)];
if(sortByName)
{
    [yourArray sortUsingDescriptors:[NSArray arrayWithObject:sortByName]];
    [sortByUnlockLevel release];
}

И в вашем модальном режиме реализуйте метод compareName

- (NSComparisonResult)compareName:(id)inObject
{
    NSComparisonResult result = NSOrderedSame;
    result = [Object.mName compare:self.mName]; 
    return result;
}
person Chandan Shetty SP    schedule 11.04.2011