cocoa,包含核心数据数据源的表视图

时间:2013-06-18 21:36:41

标签: objective-c macos cocoa

我对可可开发绝对不熟悉所以请不要因为这个问题而惩罚我。

我必须使用绑定吗?我知道它可以节省大量代码,但是因为我在学习,所以我更喜欢在代码中设置所有内容。

我的目标是使用从核心数据中提取的实体填充表视图。我为主窗口视图创建了一个自定义控制器类。我也有一些代码来获取我的类别entites

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"Category"
                               inManagedObjectContext:[self managedObjectContext]];
[fetchRequest setEntity:entity];

NSError *error = nil;
NSArray *fetchedObjectsArray = [[self managedObjectContext] executeFetchRequest:fetchRequest error:&error];
if (fetchedObjectsArray == nil) {
    NSLog(@"Error occured fetching categories: %@", error);
}


for (Category *cat in fetchedObjectsArray) {
    NSLog(@"categories %@", cat.name);
}

我知道我必须为我的表视图实现委托,但是我很遗憾在哪里放置我的fetch代码,因此表视图1.可以访问它并且2.使用从我的获取请求返回的数据

1 个答案:

答案 0 :(得分:1)

  1. 您将获取代码放在程序中提取有用的位置。

  2. 您可以方便地存储数据,可能是控制器中的属性类型数组。

  3. 获取数据后,告诉表格视图,通过向其发送reloadData(等)消息,可以显示新数据。

  4. 表视图的data source,可能您的控制器将接收数据源协议中定义的消息,以将日期传输到视图中。由于这是您编写的代码,它完全在您的控制器下,如何获取数据。 (见第2步)。