我可以为Core Data生成的类添加自定义方法吗?

时间:2010-04-29 21:37:52

标签: iphone core-data categories

我有几个Core Data生成的类文件,我想添加自定义方法。我不需要添加任何实例变量。我怎么能这样做?

我尝试添加一类方法:

// 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可能无法响应'displayName'”,果然,当我运行应用程序时,我没有得到“Some Name”,我应该看到它。

1 个答案:

答案 0 :(得分:1)

首先转到您的数据模型,选择要添加方法的实体并将类更改为适当的类(我在开头使用带有首字母的实体名称)。然后从“文件”菜单中选择“新建文件...”。从那里选择托管对象类(您必须在数据模型仍然是活动文档时执行此操作,否则您将看不到此选项)。单步执行文件向导,确保选择正确的实体(Xcode将根据您之前输入的类正确命名文件)。还要确保选中Generate accessors和Generate Objective-C 2.0属性选项。然后,您应该能够像任何其他类一样添加任何您想要的自定义方法。如果您需要更多帮助,请查看http://themikeswan.wordpress.com/2009/05/30/a-core-data-tutorial-part-2-polishing-the-basics/我是根据Mac OS X编写的,但iPhone的概念是相同的。