Табличные представления загружаются из NSDictionary, но не в алфавитном порядке - PullRequest
1 голос
/ 28 декабря 2010

Я довольно новичок в программировании, но сейчас экспериментирую с приложением табличного представления. Я использовал для этого несколько фрагментов, но они работают довольно хорошо. Похоже, я не могу понять, как я могу загрузить свое табличное представление в алфавитном порядке, потому что это выглядит намного лучше. Навигация имеет четыре уровня, из которых первые два являются представлениями таблицы. Все данные хранятся в файле plist со словарями. Я включил код. У меня такое чувство, что я упускаю что-то очень очевидное, но я не могу понять, что это такое! Кто может мне помочь? Спасибо заранее за ваше время!

- (void)viewDidLoad {
// Create the table view data source array from the dictionary property
tableViewData = [[dataForCurrentLevel allKeys] retain];

Ответы [ 3 ]

1 голос
/ 28 декабря 2010

NSDictionaries - это хеш-таблицы, поэтому ключи на самом деле сортируются по их хешам.

Вам необходимо отсортировать полученный массив вручную, например, с помощью sortedArrayUsingSelector:, но в классе NSArray есть много других методов.

1 голос
/ 28 декабря 2010

Пожалуйста, внимательно прочитайте ответ от @VdesmedT.Просто отсортируйте ваш массив, прежде чем передавать его в таблицу, например:

- (void)viewDidLoad {
// Create the table view data source array from the dictionary property
tableViewData = [[[dataForCurrentLevel allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)] retain];
1 голос
/ 28 декабря 2010

Используйте sortDescriptor для сортировки массива

...