2010-04-29 30 views
0

我有一對夫婦,我想添加自定義方法,以核心數據生成的類文件。我不需要添加任何實例變量。我怎樣才能做到這一點?我可以將自定義方法添加到核心數據生成的類嗎?

我嘗試添加的方法分類:

// ContactMethods.h (my category on Core Data-generated "Contact" class) 
#import "Contact.h" 
@interface Contact (ContactMethods) 
-(NSString*)displayName; 
@end 
... 
// ContactMethods.m 
#import "ContactMethods.h" 
@implementation Contact (ContactMethods) 
-(NSString*)displayName { 
    return @"Some Name"; // this is test code 
    } 
@end 

這是不行的,雖然。我得到一個編譯器消息「-NSManagedObject可能不是‘顯示名’迴應」果然,當我運行應用程序,我不明白「有些名稱」,我應該看到它。

回答

1

首先去你的數據模型,選擇您想要的方法添加和更改類的適當的東西(我用的是實體名稱用我名字的縮寫開頭)的實體。然後從文件菜單中選擇新建文件...。從那裏選擇Managed Object Class(您必須在數據模型仍然是活動文檔時執行此操作,否則您將看不到此選項)。逐步執行文件嚮導,確保選擇正確的實體(Xcode將根據您之前輸入的類正確命名文件)。還要確保選擇了「生成訪問器」和「生成Objective-C 2.0」屬性選項。然後,您應該可以像任何其他課程一樣添加任何您想要的自定義方法。如果您需要更多的幫助退房http://themikeswan.wordpress.com/2009/05/30/a-core-data-tutorial-part-2-polishing-the-basics/我寫此基礎上的Mac OS X,但概念是爲iPhone相同。

+2

這是「正確」的方式來做到這一點。但是,管理機器和人工生成的代碼的汞合金可能變得很困難。我強烈建議使用Wolf Rentzsch的** mogenerator **(http://rentzsch.github.com/mogenerator/)。它自動這種重複和容易出錯的任務,並增加了一些非常不錯的自動功能像(未)NSNumbers的拳擊和這樣的自定義類。 – 2010-04-30 19:11:17

相關問題