既存のプロジェクトがあり、CoreData を使用したいと考えています。
プロジェクトの作成時に、はすでに私のグループのCoreData.framework
下に追加されており、プロジェクトのターゲット -> ビルド フェーズの下にあります。このプロジェクトを作成したとき、「コア データを使用する」をチェックしませんでした。チェック ボックスさえありませんでした。単に私のプロジェクトにあっただけです。Xcode バージョン 4.6.3 を使用しています。Frameworks
Link Binary With Libraries
チュートリアルを読んで、私は my に行き、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
次に、次を my に追加しました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」のことですか?
これは私のゲッターメソッドです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 ファイルを入れようとしましたが、役に立ちませんでした。ヘルプ?