Ale*_*ere 72 xcode exception core-data objective-c ios
我已将所有相关代码添加到App Delegate中,并且我能够添加到数据模型并从applicationDidFinishLaunchingWithOptions中的数据模型中获取.
当我尝试在View Controller中写入数据模型时,我的问题出现了.我已将此代码添加到头文件中:
NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
Run Code Online (Sandbox Code Playgroud)
这个代码到我的实现文件:
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *model = [NSEntityDescription
insertNewObjectForEntityForName:@"Events"
inManagedObjectContext:context];
[model setValue:@"Sample Event" forKey:@"eventName"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Couldn't save: %@", [error localizedDescription]);
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Events''
Run Code Online (Sandbox Code Playgroud)
有谁知道发生了什么?任何帮助,将不胜感激.
小智 45
在开始从数据库中获取数据之前,可以通过包含以下代码来传递上下文:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
context = [appDelegate managedObjectContext];
Run Code Online (Sandbox Code Playgroud)
Tim*_*Tim 37
如果您使用segues,如果您没有通过上下文,您将遇到相同的问题.在启动segue的类的prepareForSegue方法中使用此代码:
[[segue destinationViewController] setManagedObjectContext:self.managedObjectContext];
Run Code Online (Sandbox Code Playgroud)
假设您将上下文保存在名为"managedObjectContext"的属性中.
Has*_*jmi 20
你应该将它添加到你的viewController:
id delegate = [[UIApplication sharedApplication] delegate];
self.managedObjectContext = [delegate managedObjectContext];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47392 次 |
| 最近记录: |