2010-06-01 55 views
2
NSManagedObject *entryObj = [self.fetchedResultsController 
         objectAtIndexPath:indexPath]; 

entryObj由四个字符串属性组成。如何进入NSManagedObject;访问个人属性

如果我NSLog entryObj,我得到我想要的信息。我无法弄清楚如何分别访问每个属性。我读了一篇类似的文章,解决方案称之为“实体”。我无法弄清楚如何使用“实体”来访问特定的属性。

任何想法?参考文献?教程?

在此先感谢。

回答

5

对管理对象的属性是KVC /国际志愿者组织兼容的,因此您可以通过以下方式访问它们:

[entryObj valueForKey:@"name"] 

另外,您可以产生真正的属性来访问这些值定制的核心数据类。有关更多信息,请参阅this documentation。 Xcode核心数据建模工具可以为您生成这些类。当你打开模型时,选择“文件 - >新建文件”,你应该看到一个“托管对象类”项目。选择它并选择你想为其生成类的实体。

一旦你这样做,核心数据实体的类名设置得当,你只投了NSManagedObject新的类的实例并访问其属性,即

MyObject *entryObj = (MyObject *) [self.fetchedResultsController 
    objectAtIndexPath:indexPath]; 
NSLog(@"Property is %@", entryObj.whatever); 
0

如果你建立你的NS使用设计器管理对象,然后您可以导出模型类。从xcdatamodel文件/新建文件然后选择CocoaTouch类/托管对象类。然后点击下一步,然后勾选您的每个类。保留生成访问器并生成obj-c 2.0属性,并单击完成。

现在您可以将生成的文件包含在您的项目中并使用点存取器语法。

或者使用[entryObject valueForKey:@“keyname”];但我更愿意在可能的情况下坚持使用点访问器语法。