2010-06-01 42 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」];但我更願意在可能的情況下堅持使用點訪問器語法。