2013-05-18 5 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» вместо 'keep'. Пусть CoreData генерирует классы моделей для вас, поэтому вам не нужно беспокоиться об этом. Как только это не в порядке, ответ ниже - это путь. – Rog

ответ

2

Чтобы создать экземпляр класса управляемого объекта, вам необходимо:

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

Незначительное примечание: кастинг на 'Регистрация *' не требуется, потому что 'insertNewObjectForEntityForName' возвращает' id'. –

+0

Отредактировано спасибо, набрав на моем iPad и не помню в то время. – Wain

Смежные вопросы