2012-01-12 2 views
2

У меня есть UITableView, который заполнен массивом объектов типа «Продукт», каждый из которых имеет атрибут «имя» строки типа. Когда клика нажата, отображается модальное представление с дополнительной информацией об этом продукте.Сортировка массива объектов в алфавитном порядке на основе атрибута строки

Что бы я хотел сделать, это разделить продукты на разделы в зависимости от первой буквы их атрибута имени. (Как iPhone контакты).

я боролся с этим на некоторое время, и я не могу найти что-нибудь в Интернете, который решает мою конкретную проблему ..

Может кто-то мне точку в правильном направлении?

ответ

5

Здесь есть несколько хороших примеров. Вот хороший пример:

How to sort an NSMutableArray with custom objects in it?

+0

Спасибо, что показал мне, как заказать массив в алфавитном порядке, но я все еще пытаюсь отобразить теперь организованный массив в UITableView с алфавитными разделами? –

+0

Если вы реализуете протокол UITableViewDataSource, вы можете определить количество строк/секций и то, что ячейка отображается в каждой точке. Вы бы использовали этот отсортированный массив, чтобы знать, что ему представить. Вы можете увидеть этот протокол здесь: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDataSource_Protocol/Reference/Reference.html – dtuckernet

+0

Кроме того, если вы хотите алфавитный указатель - см. Ответ здесь : http://stackoverflow.com/questions/1655119/iphone-uitableview-how-do-turn-on-the-single-letter-alphabetical-list-like-the – dtuckernet

3

Использование NSSortDescriptor как это ..

NSSortDescriptor *sortDescriptor = 
    [NSSortDescriptor sortDescriptorWithKey:@"name" 
            ascending:YES 
            selector:@selector(caseInsensitiveCompare:)]; 
NSArray *sortedArray = [nameOfArray sortedArrayUsingDescriptors:@[sortDescriptor]]; 

Надежда, это то, что вы ищете. Меня волнует любая забота. :)

Смежные вопросы