2014-01-30 2 views
-1

Благодаря более опытному пользователю я применил метод сортировки основных объектов данных в разделе просмотра таблицы. Метод сортировки внутри раздела отличается от метода сортировки представления таблицы. Последнее выполняется NSFetchedResultsController. Но теперь я не знаю, как получить значения из отсортированного NSArray. Это метод, который сортирует объекты ядра данных внутри секции:Получение значения объекта в массиве

- (NSArray*)sortedSectionForIndex:(NSInteger)index 
{ 
    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"priority" ascending:YES]; 
    id section = [[self fetchedResultsController] sections][index]; 
    NSLog(@"INDEX********* = %ld", (long)index); 
    NSArray *objects = [section objects]; 
    NSArray *sorted = [objects sortedArrayUsingDescriptors:@[sort]]; 
    return sorted; 
} 

И это код добавляется к методу cellForRowAtIndexPat, чтобы получить NSArray от метода sortedSectionForIndex:

NSArray *sorted = [self sortedSectionForIndex:[indexPath section]]; 
    id object = [sorted objectAtIndex:[indexPath row]]; 

    NSLog(@"OBJECTV= %@",object); 

Теперь, Мне нужно было бы знать, как показать значения из массива, который должен быть указан как cell.textlabel:

Второй вопрос заключается в том, что я не знаю, будет ли получение основного объекта данных из массива изменением пути к han для всех остальных методов. Я имею в виду, что до внедрения этого метода сортировки, когда пользователь нажимает на строку, отображается подробный вид из выбранного объекта. Теперь, получая объекты из массива, а не из NSFetchedResultsController, я не уверен, продолжит ли он работу по-прежнему.

+0

Вы получили значение прямо - вы использовали objectAtIndex, чтобы получить его !! (Я подозреваю, что вы говорите, однако, что вы не знаете, как поставить значение в метку.) –

+0

Нет @HotLicks, массив имеет несколько ключей (имя, дата, приоритет и т. Д.).) то, что мне нужно, это получить значение ключа имени, чтобы показать его на cell.textlabel. – rz1965

+0

Хорошо, тогда попросите имя ключа. NSLog 'object', чтобы узнать, что это такое. Это словарь с элементом «name» внутри? –

ответ

0

меняю бы линию

id object = . . . 

Для

NSManagedObject *object = . . . 

А потом

cell.textLabel = [object valueForKey:@"todoName"]; 
Смежные вопросы