【问题标题】:Cannot create a managed object context on iOS无法在 iOS 上创建托管对象上下文
【发布时间】:2011-12-26 15:29:21
【问题描述】:

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

NSManagedObjectContext *aContext = [[NSManagedObjectContext alloc] init];

当我执行上述操作时,我收到以下错误,

Receiver 'NSManagedObjectContext' for class message is a forward declaration.

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

【问题讨论】:

  • 您是否在应用程序委托的标头中包含了#import
  • 谢谢你的作品。更好的解决方案是将其放在prefix.pch 文件中。
  • 另外,小心使用名为 message 的类。这将与 iOS 中的其他类发生冲突。我以前也受过这种影响。

标签: ios core-data


【解决方案1】:

只需在您的实现文件中写入#import 。它会工作

【讨论】:

    【解决方案2】:

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

    #import <CoreData/CoreData.h>
    

    因为你可能在你的应用程序中使用它,你应该把它放在预编译的头文件中,YourApp-Prefix.pch:

    #ifdef __OBJC__
        #import <UIKit/UIKit.h>
        #import <Foundation/Foundation.h>
        #import <CoreData/CoreData.h>
    #endif
    

    【讨论】:

    • 如果您的应用自始至终都使用 Core Data,您还可以将同一行添加到项目的 Supporting Files 目录中的 YourAppName-Prefix.pch 文件中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多