我肯定这一定是个愚蠢的问题,但我已经搜索了网络,找不到答案。很多人都在谈论使用代沟模式,在代沟模式中,您有一个从您的模型生成的NSManagedObject子类,然后再将该子类添加到瞬态属性和行为中。这样做的好处是,如果您更改了持久化模型,就可以再次生成基本文件,而不会有覆盖您自己的代码的危险。
我有一个从NSManagedObject派生的基本CardMO对象。然后我将其子类化,以创建自己的卡对象。
我的问题是,如何创建受管理的卡对象?
我试过:
Card* card = [NSEntityDescription insertNewObjectForEntityForName:@"CardMO" inManagedObjectContext:moc];
但是这个对象并不是一张真正的卡片,当然,当我继续调用这个对象上的Card方法时,会出现一个异常。
我尝试使用alloc/init创建一张卡(init只调用[super init]),然后将其添加到managedObjectContext中,如下所示:
[moc insertObject:(CardMO*)card];
这给了我一个神秘的错误“调用NSManagedObject类“Card”上指定的初始值设定项失败”
我该怎么办?
我正在3.0上编写一个iPhone应用程序,但我假设10.5的核心数据也是如此。