Метод сортировки пользовательских объектов по алфавиту в UITableView - PullRequest
0 голосов
/ 20 сентября 2010

У меня есть два пользовательских объекта: «Фраза» и «Фраза», в «Фраза» есть массив фраз, и у каждой фразы есть «Заголовок», «Описание» (и множество других свойств / методов). Другими словами:

PhraseBook.Phrases (NSArray) =>
    Phrase (Subclass of NSObject) {
        Phrase.Title = "Phrase Title",
        Phrase.Description = "Phrase Description"
    },
    Phrase (Subclass of NSObject) {
        Phrase.Title = "Phrase Title",
        Phrase.Description = "Phrase Description"
    }    

Мне нужно получить это в UITableView, отсортированном по алфавиту по заголовку фразы с заголовками разделов. Для которого мне нужно "numberOfSectionsInTableView", "numberOfRowsInSection", "titleForHeaderInSection", "cellForRowAtIndexPath (row, section)"

Я начал создавать пользовательские функции для сортировки всех объектов в алфавитном порядке в другом массиве, делать подсчеты по всем буквам (я фактически делал это, создавая nsdictionary с ключом для каждой буквы алфавита, добавляя в массив связан с ним, а затем удаляет все ключи, которые имеют массив длиной 0).

Эти функции хороши, но они чувствуют, что выполняют много тяжелой работы, потому что кажется, что это должно быть довольно просто. Мысли? :)

1 Ответ

4 голосов
/ 20 сентября 2010

Вы бы использовали NSSortDescriptor, и когда вы выделяете и инициализируете его, вы выбираете ключ для сортировки.В вашем случае это заголовок фразы.Код должен выглядеть примерно таквверх по справочнику по классам NSSortDescriptor , но, надеюсь, это приведет вас в правильном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...