Основные данные выборки результатов

голоса
2

С ниже код я создаю запрос выборки. Проблема у меня получает выборки данных запроса и делать что-то с ним, как положить его в переменную (как я пытаюсь сделать ниже с переменной firstManagedObject). То есть, я не понимаю, что делать с моим «результатом» NSArray, что я создал (показано ниже коды), чтобы получить полезную информацию, которая не в форме «(объект: Вопрос, ID: 0x10b6250 <- CoreData: // 90FA9FD7-4CFC-4039-8A0C-40116055CADF / Вопрос / p2; данные: ошибка)»или аналогичный. В NSLog, что я создаю (на последней строке) я регистрируем «результат» NSArray заполняется из executeFetchRequest (выделены жирным шрифтом ниже), но я не знаю, как сделать следующий шаг, чтобы получить фактический «вопрос» текст. Любая помощь приветствуется. Благодарю.

Результаты NSLog:

выборки запроса getQuestionsByParent: 2 Найдено (суб переменные: {FormID = 9822217D-6A55-4475-88EC-E2552B336E1B; sectionNumber = 2;}, результаты :( (сущностей: Вопрос; ID: 0x10a8720 х-CoreData: // 90FA9FD7- 4CFC-4039-8A0C-40116055CADF / Вопрос / p2; данные: ошибка), (объект: Вопрос, ID: 0x1092920 х-CoreData: // 90FA9FD7-4CFC-4039-8A0C-40116055CADF / Вопрос / p4; данные: ошибка)) )

Код:

    NSManagedObjectContext *moc_ = [self managedObjectContext];

    NSMutableDictionary *dictionary=[[NSMutableDictionary alloc]init];
    [dictionary setObject:section.ordinal forKey:@sectionNumber];
    [dictionary setObject:section.parent.id forKey:@formId];

    NSError *error = nil;    
    NSManagedObjectModel *model = [[moc_ persistentStoreCoordinator] managedObjectModel];
    NSFetchRequest *fetchRequest = [model fetchRequestFromTemplateWithName:@getQuestionsByParent substitutionVariables:dictionary];
    NSAssert(fetchRequest, @Can't find question fetch request);

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@ordinal ascending:YES];
    NSArray *sortDescriptors = [[NSMutableArray alloc] initWithObjects:sortDescriptor, nil];
    [fetchRequest setSortDescriptors:sortDescriptors];

    NSArray *result = [[NSArray alloc] init];
    result = [moc_ executeFetchRequest:fetchRequest error:&error];
    //return result;

    NSLog(@fetch request getQuestionsByParent: %u found (sub variables:%@, results:%@), [result count], dictionary, result);

    NSManagedObject *firstManagedObject = [result objectAtIndex:0];
Задан 03/08/2009 в 17:24
источник пользователем
На других языках...                            


1 ответов

голоса
3

У вас есть свой подстрелить, у вас есть данные. Если вы реализовали собственные подклассы для объекта можно просто запросить свойства, если вы не можете использовать KVC, чтобы получить доступ к ним в отношении объектов. Так, например, если у вас есть атрибут, который называется «myAttribute», то:

NSManagedObject *firstManagedObject = [result objectAtIndex:0];
NSLog(@"firstObject.myAttribute: %@", [firstObject valueForKey:@"myAttribute"]);

И если у вас есть пользовательский подкласс для объекта (вопроса), который объявляет атрибуты как динамические свойства, то было бы:

Question *firstQuestion = [result objectAtIndex:0];
NSLog(@"firstQuestion.myAttribute: %@", firstQuestion.myAttribute);
Ответил 03/08/2009 в 17:32
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more