错误:CoreData:错误:未能呼吁NSManagedObject类 '产品'
问题描述:
指定初始化我开始使用与iOS 5.我有我的产品模型的核心数据:错误:CoreData:错误:未能呼吁NSManagedObject类 '产品'
Product.m:
#import "Product.h"
@implementation Product
@dynamic category_id;
@dynamic label;
@dynamic price;
@end
Product.h:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface Product : NSManagedObject
@property (nonatomic, retain) NSString *category_id;
@property (nonatomic, retain) NSString *label;
@property (nonatomic, retain) NSString *price;
@end
我尝试解析使用NSXMLParserDelegate自定义类的XML。我的XML看起来像:
<section id="2">
<label>Animaux</label>
<image>Images/Rayons/Bandeau/Animaux.png</image>
<key>Images/Rayons/Bandeau/Animaux.png</key>
<products>
<Product id="21">
<category_id>Chat</category_id>
<label>Aliments pour chat</label>
<price>2.00</price>
</Product>
<Product id="1286">
<category_id>Chat</category_id>
<label>Boite de paté</label>
<price>0.00</price>
</Product>
</products>
</sections>
时,我有一个应答器产品,我建我的模型是这样的:
item = [[NSClassFromString(className) alloc] init];
当我有一个属性为CATEGORY_ID,我做的:
[item setValue:currentNodeContent forKey:elementName];
而我得到的错误:
CoreData:错误:无法调用指定的initializ呃在NSManagedObject类'产品'
任何想法?
initWithEntity:insertIntoManagedObjectContext:
这就是为什么失败:
答
为NSManagedObject状态专用的初始化器是该文档。大部分我所看到的例子表明,你应该得到这样
[NSEntityDescription entityForName:@"MyClass" inManagedObjectContext:self.managedObjectContext]];
一个新的对象,因此,你可以尝试这样的:
[NSEntityDescription entityForName:className inManagedObjectContext:self.managedObjectContext]];
它失败了,我的应用程序有错误SIGABRT – Sebastien 2012-02-03 15:08:41
你不”存在因为'entityForName:inManagedObjectContext:'需要'NSString'作为实体名称,所以需要'NSClassFromString()'。 – paulbailey 2012-02-03 16:04:45
是的,我试着用这段代码,但我的应用程序崩溃没有具体的错误:[NSEntityDescription entityForName:className inManagedObjectContext:managedObjectContext],我该如何声明managedObjectContext? – Sebastien 2012-02-03 16:07:52