Xcode OS / X:如何在表视图中显示核心数据获取请求的结果

时间:2013-02-03 13:11:00

标签: macos core-data nstableview

我对写入数组的托管对象上下文执行获取请求。 fetch本身运行良好,数组填充正确。但是,当我尝试在(基于单元格的)表视图中显示数组内容时,不会显示任何内容。设置如下:

  • NSArrayControllers内容数组绑定到文件的所有者结果数组(据我所知,该数组填充了NSManagedObject个对象)。在这里,我尝试了实体和类模式。
  • 表视图内容绑定到数组控制器排列的对象。
  • 使用控制器键将表列值绑定到数组控制器:排列对象,模型关键路径:属性名称(在数据模型中定义)。

我还为我的对象创建了一个NSManagedObject子类,以便在类模式下访问绑定的属性。

以上都没有表视图填充获取请求的结果。那么,任何人都可以帮我解决这个问题吗?谢谢!

根据要求,这里是fetch方法的代码(其他一切都在Interface Builder中完成):

- (IBAction)fetch:(id)sender {

NSLog(@"Performing fetch.");

NSManagedObjectContext *moc = [self managedObjectContext];

// Connecting entity
NSEntityDescription *entityDescription = [NSEntityDescription
                                          entityForName:@"Operation"
                                          inManagedObjectContext:moc];

//Creating fetch request
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];

// Set predicate for fetch request
float maxDurationInMinutes = [durationFetchInput floatValue];
NSPredicate *predicate = [NSPredicate predicateWithFormat:
                          @"(durationInMinutes >= %f)", maxDurationInMinutes];
[request setPredicate:predicate];

//Set sort ordering for fetch request
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
                                    initWithKey:@"durationInMinutes" ascending:YES];
[request setSortDescriptors:@[sortDescriptor]];

NSError *error;
NSArray *array = [moc executeFetchRequest:request error:&error];
fetchReturnArray = [[NSArray alloc] initWithArray:array];

[objectsCountOutput setIntegerValue:[fetchReturnArray count]];
if (array == nil)
{
    NSLog(@"Error fetching...");
}
NSLog(@"%@",fetchReturnArray);
}

0 个答案:

没有答案