我已经将所有相关代码添加到App Delegate,并且能够添加到数据模型并从application ationDidFinishLaunchingWithOptions中的数据模型获取.

我的问题出现在我试图写入View Controller中的数据模型时.我已将此代码添加到头文件中:

NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;

@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;

并将此代码添加到我的实现文件中:

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]);
}

但是,我得到以下错误:

'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Events''

有人知道是怎么回事吗?任何帮助都将不胜感激.

推荐答案

如果您正在使用segues,如果您不向下传递上下文,您将会遇到同样的问题.在初始化Segue的类的prepaareForSegue方法中使用此代码:

[[segue destinationViewController] setManagedObjectContext:self.managedObjectContext];

当然,这假设您将上下文保存在名为"managedObjectContext"的属性中.

Ios相关问答推荐

Xcode15.3上的生成错误:调用的对象类型';facebook::flipper::SocketCertificateProvider';不是函数或函数指针

如何防止UITest套件与Fastlane一起执行?

SwiftData共享扩展阻止应用程序打开SQLite文件

在 Android 和 iOS 应用程序上下文中阻止后台线程有哪些缺点?

仅更改 AttributedString 的字符串(例如 UIButton 配置 attributeTitle)

在iOS中使用Swift,即时更改应用语言后,立即改变外观会出现问题

NumberFormatter 无法使用 Xcode 15.0 beta 正确识别 iOS 17 beta 中的 Locale 货币设置

创建方案时运行 pod install 时出错

RealityKit – ARView 光线投射返回 0 个结果

从iOS键盘输入时Flutter TextField输入消失

小部件链接有效,但不执行任何操作

在 Swift 中映射 MySQL 数据

如何为视图的 colored颜色 和宽度设置动画?

为什么我不能让 passthrough 科目为 combine 工作?

如何在不支持并发的自动关闭中修复'async'调用?

我们可以在 Swift 中将 struct 中的 Codable 键设置为不区分大小写吗

如何将 ImageView 放置在 UIView 的中心?

如何缩小 UIImage 并使其同时变得清晰/锐利而不是模糊?

iOS7 UITextView contentsize.height 替代

使用 xib 创建可重用的 UIView(并从情节提要中加载)