声明 NSManagedObjectContext 时出错

Posted

技术标签:

【中文标题】声明 NSManagedObjectContext 时出错【英文标题】:Error when declaring NSManagedObjectContext 【发布时间】:2010-11-04 21:05:25 【问题描述】:

我正在尝试创建一个 NSManagedObjectContext 对象。他们的错误如下:

预期的说明符限定符列表 在“NSManagedObjectContext”之前

这是我的头文件:

#import <UIKit/UIKit.h>


@interface FavouritesViewController : UITableViewController 
  NSArray *favourites;
  NSManagedObjectContext *context;


@property (nonatomic, retain) NSArray *favourites;
@property (nonatomic, retain) NSManagedObjectContext *context;

@end

有人知道我可能会在这里失踪吗?

【问题讨论】:

【参考方案1】:

您很可能忘记在文件中包含 CoreData 标头。在#import &lt;UIKit/UIKit.h&gt; 行之后,您需要另一行读取#import &lt;CoreData/CoreData.h&gt;。在此之后,该文件应该可以正常编译。还要确保链接库中有 CoreData,否则会出现运行时错误。

【讨论】:

【参考方案2】:

您需要在接口指令上方添加@class NSManagedObject。这将告诉编译器 NSManagedObject 是一个真正的类。然后,您需要在 .m 文件中包含 #import &lt;CoreData/CoreData.h&gt;

【讨论】:

以上是关于声明 NSManagedObjectContext 时出错的主要内容,如果未能解决你的问题,请参考以下文章

NSManagedObjectContext 并发

NSManagedObjectContext 的 userInfo 属性是如何工作的?

无法使用CoreData调用非函数类型'NSManagedObjectContext'的值

父/子 NSManagedObjectContext 不起作用

NSManagedObjectContext:自动更新与否?

NSManagedObjectContext:撤消保存操作?