我得到一个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];