jdo*_*dog 2 core-data objective-c
我有一个使用CoreData的应用程序.我为CoreData中的两个对象类型创建了NSManagedObjects.当我尝试使用该对象并在对象上设置属性时,编译器会将"[User setUsername:]:无法识别的选择器发送到实例".无论我使用什么属性[User setValue],尝试它总是无法识别?
User *joeBlow = [[User alloc] init];
[joeBlow setUsername:@"joeblow"];
Run Code Online (Sandbox Code Playgroud)
或者用户*joeBlow = [[User alloc] init]; joeBlow.username = @"JoeBlow";
两者都给"发送到实例的无法识别的选择器"
以下是我的USER代码:
User.h
@interface User : NSManagedObject
@property (nonatomic, retain) NSString * address1;
@property (nonatomic, retain) NSString * username;
@property (nonatomic, retain) NSString * zip;
@property (nonatomic, retain) NSString * email;
@end
Run Code Online (Sandbox Code Playgroud)
User.m
@implementation User
@dynamic address1;
@dynamic username;
@dynamic zip;
@dynamic email;
@end
Run Code Online (Sandbox Code Playgroud)
您无法通过正常的创建核心数据实体的新实例alloc- init模式(不同于其他类).相反,在NSEntityDescription上调用类方法:
User *joeBlow = [NSEntityDescription
insertNewObjectForEntityForName:@"User"
inManagedObjectContext:self.managedObjectContext];
[joeBlow setUsername:@"joeblow"];
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Apple的核心数据编程指南.
最后,请注意[jb setUsername:@"jb"]并且jb.username = @"jb"是相同的 - 后者是点符号,表达前者的不同方式.
| 归档时间: |
|
| 查看次数: |
1295 次 |
| 最近记录: |