用下面的代码创建一个获取请求。我遇到的问题是获取请求数据并执行一些操作,比如将其放入一个变量中(就像我正在试图用firstManagedObject变量所做的那样)。即,我不明白如何处理我创建的“结果”NSArray(显示在下面的代码中)以获取不是“(实体:问题;编号:0x10b6250 < - coredata:// 90FA9FD7-4CFC-4039-8A0C-40116055CADF/Question/p2; data:fault)“或类似内容。在我创建的NSLog中(最后一行),我记录了从executeFetchRequest填充的“结果”NSArray(以粗体显示),但我不知道如何进行下一步获取实际的“问题”文本。任何帮助表示赞赏。谢谢。核心数据获取结果
的NSLog结果:
取请求getQuestionsByParent:2实测值(子变量:{ formId = “9822217D-6A55-4475-88EC-E2552B336E1B”; sectionNumber = 2;} ,结果:( (entity:Question; id:0x10a8720 x-coredata:// 90FA9FD7-4CFC-4039-8A0C-40116055CADF/Question/p2; data:fault), (entity:Question; id:0x1092920 x-coredata:// 90FA9FD7- 4CFC-4039-8A0C-40116055CADF/Question/p4; data:fault) ))
代码:
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];