为什么我在这段代码中得到一个“未知类型名称NSManagedObjectContext”?

时间:2011-03-30 07:19:33

标签: iphone objective-c core-data ios4

任何想法为什么我在这段代码中得到“未知类型名称NSManagedObjectContext”?

我基本上是将核心数据添加到现有项目中。我添加了coredata行+我在CoreData.framework中添加到项目中。为此,我去了:

  • 何时申请目标
  • 构建阶段
  • 将二进制文件链接到库
  • 然后添加了CoreData框架
  • 然后将其拖放到项目导航器上,以便与Xcode中的其他框架图标一起显示

请注意我还有什么需要做的? CoreDataBooks示例代码看起来与我的编译看起来几乎相同

#import <UIKit/UIKit.h>

@interface myAppAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    UINavigationController *navigationController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

// Core Data
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;  // ERROR: unknown type
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;   // ERROR: unknown type
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;   // ERROR: unknown type

- (void)saveContext;
- (NSURL *)applicationDocumentsDirectory;

@end

2 个答案:

答案 0 :(得分:37)

然后,您必须将Core Data框架标头导入到使用Core Data类的任何文件中。

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

答案 1 :(得分:6)

正如Greg上面所说,XCode 4处理此问题的方法是将#import <CoreData/CoreData.h>添加到我在Other Sources文件夹/组中找到的[projectname]_Prefix.pch文件中。