无法在iOS上创建托管对象上下文

Dav*_*vid 50 core-data ios

我创建了一个非核心数据项目.我现在想要使用核心数据.在构建阶段,我将我的二进制文件与CoreData.framework链接起来.在我的应用程序委托方法中,我想手动创建一个托管对象上下文

NSManagedObjectContext *aContext = [[NSManagedObjectContext alloc] init];
Run Code Online (Sandbox Code Playgroud)

当我执行上述操作时,出现以下错误:

Receiver 'NSManagedObjectContext' for class message is a forward declaration.
Run Code Online (Sandbox Code Playgroud)

关于我可能做错什么的任何建议?

ada*_*101 126

您需要在应用程序委托的头文件中导入CoreData/CoreData.h:

#import <CoreData/CoreData.h>
Run Code Online (Sandbox Code Playgroud)

由于您可能通过outyour应用程序使用它,因此您应该将它放在预编译的头文件YourApp-Prefix.pch中:

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import <CoreData/CoreData.h>
#endif
Run Code Online (Sandbox Code Playgroud)

  • 如果您的应用程序始终使用Core Data,您还可以将相同的行添加到项目的Supporting Files目录中的YourAppName-Prefix.pch文件中. (5认同)

小智 6

只需在实现文件中编写#import <CoreData/CoreData.h>即可.它会工作