我有以下工厂方法。 ,我只是想知道,如果分配我可以为自己分配一个刚插入的ManagedObject吗?
self = [NSEntityDescription insertNewObjectForEntityForName:entityName
inManagedObjectContext:[self managedObjectContext]];
是正确鉴于我的类是NSManagedObject
的子类感谢
+ (CBItem *)insertEntityForName:(NSString*)entityName fromXMLElement:(NSXMLElement*)xmlElement withQueryType:(CBSearchQueryType)queryType inContext:(NSManagedObjectContext *)inContext
...
self = [NSEntityDescription insertNewObjectForEntityForName:entityName
inManagedObjectContext:[self managedObjectContext]];
...
return self;
好的。如果工厂方法是由CBItem的子类调用的呢?我应该使用演员吗? (CBSubClassItem = [CBSubClassItem insertEntityForName:entityName fromXMLElement:xmlElement];) – aneuryzm
好吧,返回的类无论如何都依赖于实体名称,您可以一直使用'id'并且只分配给您原始的正确类型的变量调用函数?如果不知道你想达到什么,这很难说。 – jrturton
好吧,我要返回超类,并且它可以工作。我有点惊讶:我正在返回一个类,并将返回的值分配给一个子类。 – aneuryzm