Я создал UserModel.xcdatamodeld с одним элементом Entry: UserBase, и я добавил атрибут, имя которого является UserID, а type - Integer 32.
После этого я создаю для него классы с подклассом file- > new file- > NSManagedOBject, который автоматически создает UserBase.h и .m.
В моем контроллере импортирован файл UserBase.h и создается свойство:
NSManagedObjectContext *userBaseObjectContext;
с
@property (nonatomic, retain) NSManagedObjectContext *userBaseObjectContext;
В файле mycontroller.m синтезировано свойство userBaseObjectContext и в функции DidLoad я пробовал это:
UserBase *userObject=(UserBase *)[NSEntityDescription insertNewObjectForEntityForName:@"UserBase" inManagedObjectContext:userBaseObjectContext];
[userObject setUserID:[NSNumber numberWithInt:42]];
NSError *error;
if(![userBaseObjectContext save:&error])
{
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Application error" message:@"error" delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:nil,nil];
[alert show];
[alert release];
}
else
NSLog(@"not working...");
Когда я пытаюсь создать свой проект, я получил эту ошибку:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_NSEntityDescription", referenced from:
objc-class-ref in LoginController.o
"_OBJC_METACLASS_$_NSManagedObject", referenced from:
_OBJC_METACLASS_$_UserBase in UserBase.o
"_OBJC_CLASS_$_NSManagedObject", referenced from:
_OBJC_CLASS_$_UserBase in UserBase.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Что это значит?
Я следовал этому руководству: http://mobile.tutsplus.com/tutorials/iphone/iphone-core-data/