我有一个现有的项目,我想使用CoreData.
创建项目后,CoreData.framework已添加到我的Frameworks组下,并且在我的项目目标中的Link Binary With Libraries下 – >建立阶段.我创建这个项目时没有检查“使用核心数据” – 复选框甚至没有 – 它只是在我的项目中.我使用Xcode版本4.6.3.
阅读教程,我去了我的App-Prefix.pch并添加了一个导入到CoreData.它现在看起来像这样:
#import <Availability.h> #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <CoreData/CoreData.h> #import <Foundation/Foundation.h> #endif@H_301_16@@property (readonly,nonatomic,strong) NSManagedObjectContext *managedObjectContext; @property (readonly,strong) NSManagedObjectModel *managedObjectModel; @property (readonly,strong) NSPersistentStoreCoordinator *persistentStoreCoordinator; - (void)saveContext;@H_301_16@现在,当我覆盖托管对象的getter时,Xcode会抛出一个错误:
Use of undeclared identifier ‘_managedObjectContext’; did you mean
‘NSManagedObjectContext’?这是我在AppDelegate.m中的getter方法:
- (NSManagedObjectContext *)managedObjectContext { if(_managedObjectContext != nil) return _managedObjectContext; NSPersistentStoreCoordinator* psc = [self persistentStoreCoordinator]; if(psc != nil) { _managedObjectContext = [[NSManagedObjectContext alloc] init]; [_managedObjectContext setPersistentStoreCoordinator:psc]; } return _managedObjectContext; }@H_301_16@我也尝试将.pch文件放在我的Copy Bundle Resources中,但无济于事.救命?