Objective c 在核心数据中,如何访问给定实体的每个托管对象(实例)的特定属性?

Objective c 在核心数据中,如何访问给定实体的每个托管对象(实例)的特定属性?,objective-c,core-data,attributes,fetch,Objective C,Core Data,Attributes,Fetch,这是我正在使用的核心数据对象模型(我是新用户,因此无法直接发布图片): 我现在要做的就是用用户创建和保存的每个myClass实例的“className”填充UITableView 我用于生成myClass实例的代码已完全运行,但我不知道在获取myClass对象后如何提取“className”属性(放入tableview单元格)。我读了又读了苹果的文档(虽然我确信“答案”在某处,但我只是很难理解它) 我也浏览了核心数据教程。我发现的最有用的方法只是让我知道我的托管对象存储在一个数组中,但我不知道

这是我正在使用的核心数据对象模型(我是新用户,因此无法直接发布图片):

我现在要做的就是用用户创建和保存的每个myClass实例的“className”填充UITableView

我用于生成myClass实例的代码已完全运行,但我不知道在获取myClass对象后如何提取“className”属性(放入tableview单元格)。我读了又读了苹果的文档(虽然我确信“答案”在某处,但我只是很难理解它)

我也浏览了核心数据教程。我发现的最有用的方法只是让我知道我的托管对象存储在一个数组中,但我不知道如何访问这些对象的属性

我的问题:如何访问给定实体的每个托管对象(实例)的特定属性?

提前感谢你的帮助


-Michael

一旦将所有对象提取到NSArray中,就可以在数组中迭代,例如使用快速枚举:

for (myClass *cl in array) {
    NSLog(@"Name = %@", cl.className);
}

这听起来不错,但使用这段代码,我得到了一个警告,“从不兼容的指针类型传递'NSLog'的参数1”,然后程序在该行使用EXC_BAD_访问退出。哎呀,我在字符串常量前面漏掉了'@'。NSLog需要一个NSString格式的字符串,因此它必须是
@“Name=%@”
,而不是
“Name=%@”
(如果没有“@”,则得到的是C字符串,而不是NSString)。我来纠正这个例子。啊,我应该发现:好吧,我就快到了。现在我只是不知道如何在我的CellForRowatineXpath中实现它。我希望对每个索引XPath访问我的数组一次。目前,我存储了两个类,因此我希望在数组[0]和数组[1]中访问它,并从每个类中提取类名。“myClass*cl in array”格式在这种情况下似乎不起作用。我尝试了“for”(数组[indexPath]中的myClass*cl),但没有成功。如果您只需要数组中的一个元素,可以执行类似于
[array objectAtIndex:0]的操作
谢谢David,您的输入非常有用。但是,我可能问错了问题。我认为我应该使用NSFetchedResultsController,而不是将其提取到数组中。我将就此发布一个单独的问题,但就这个问题而言,您已经回答了。您提供的迭代非常有效。您正在进行将核心数据视为表的错误。实体不是表。对象不是行。属性不是列。如下所述,在核心数据中,您获取所需的对象,然后分别询问它们一个或多个属性的值。