我有一个现有项目,我想使用 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
然后,我在我的AppDelegate.h
:
@property (readonly, nonatomic, strong) NSManagedObjectContext *managedObjectContext;
@property (readonly, nonatomic, strong) NSManagedObjectModel *managedObjectModel;
@property (readonly, nonatomic, strong) NSPersistentStoreCoordinator *persistentStoreCoordinator;
- (void)saveContext;
现在,当我覆盖 getter for 时managedObjectContext
,Xcode 会抛出一个错误:
使用未声明的标识符“_managedObjectContext”;你的意思是“NSManagedObjectContext”吗?
这是我的getter方法AppDelegate.m
:
- (NSManagedObjectContext *)managedObjectContext {
if(_managedObjectContext != nil)
return _managedObjectContext;
NSPersistentStoreCoordinator* psc = [self persistentStoreCoordinator];
if(psc != nil)
{
_managedObjectContext = [[NSManagedObjectContext alloc] init];
[_managedObjectContext setPersistentStoreCoordinator:psc];
}
return _managedObjectContext;
}
我还尝试将 .pch 文件放在我的 Copy Bundle Resources 中,但无济于事。帮助?