我得到一个null结果
AppDelegate.h
@property (readonly,strong,nonatomic) NSManagedobjectContext *managedobjectContext; @property (readonly,nonatomic) NSManagedobjectModel *managedobjectModel; @property (readonly,nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
AppDelegate.m
@synthesize managedobjectContext = __managedobjectContext; @synthesize managedobjectModel = __managedobjectModel; @synthesize persistentStoreCoordinator = __persistentStoreCoordinator; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { Person *newPerson = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedobjectContext:self.managedobjectContext]; ....... }
我有一个xcdatamodeld文件,其实体为Person,属性为name.我从NSManagedobject创建了一个Person.h和.m文件.
为什么我的输出结果为null.
Terminating app due to uncaught exception 'NSinvalidargumentexception',reason: '+entityForName: nil is not a legal NSManagedobjectContext parameter searching for entity name 'Person''
解决方法
在你的viewController.m实现文件中,就在这段代码下面:
- (void)viewDidLoad {
添加这段代码:
id delegate = [[UIApplication sharedApplication] delegate]; self.managedobjectContext = [delegate managedobjectContext];