2013-05-18 59 views
0

在我的应用程序已经使用在与核心数据的代码,CoreData错误而失败

#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 
@interface Adduser : NSManagedObject 
@property (nonatomic, retain) NSString * name; 
@property (nonatomic, retain) NSString * password; 
@property (nonatomic, retain) NSString * email; 
@property (nonatomic, retain) NSString * contact_no; 
@property (nonatomic, retain) NSString * address; 
@property (nonatomic, retain) NSString * response; 
@end 

方法

-(IBAction)signup:(id)sender 
{ 
Registration *adduser=[Registration new];//<-CoreData: error: Failed to call designated initializer on NSManagedObject class 'Registration' 
adduser.name=txt1.text; 
adduser.password=txt2.text; 
adduser.email=txt3.text; 
adduser.contact_no=txt5.text; 
adduser.address=txtvu.text; 
} 

当我试图实现是显示

CoreData: error: Failed to call designated initializer on NSManagedObject class 'Registration' 

与SIGABRT错误?我的代码有什么问题?请帮忙

+0

您需要阅读文档。你的财产评估员是不正确的,他们应该阅读'dynamic'而不是'retain'。让CoreData为您生成模型类,这样您就不必担心它。一旦这样做,下面的答案是要走的路。 – Rog

回答

2

要创建被管理对象类的实例,您需要:

Registration *adduser = [NSEntityDescription insertNewObjectForEntityForName:@"Registration" inManagedObjectContext:context]; 
+0

小事情:因为'insertNewObjectForEntityForName'返回一个'id',所以不需要投射'Registration *'。 –

+0

编辑感谢,在我的iPad上打字,当时不记得了。 – Wain