2011-11-10 10 views
50

ノンコアデータプロジェクトを作成しました。私はコアデータを使いたいと思っています。ビルド段階では、バイナリをCoreData.frameworkにリンクしました。私のアプリケーションのデリゲートメソッドでは、私は手動のでiOSで管理オブジェクトコンテキストを作成できません

NSManagedObjectContext *aContext = [[NSManagedObjectContext alloc] init]; 

私は上記を行うと、私は私が何であるかに

Receiver 'NSManagedObjectContext' for class message is a forward declaration. 

任意の提案、次のエラーを取得するなどの管理オブジェクトコンテキストを作成したいです間違っている?

+13

#import をアプリケーションデリゲートのヘッダーに含めましたか? – isaac

+6

ありがとうございます。もっと良い解決策は、 'prefix.pch'ファイルに入れることです。 – David

+0

また、messageというクラスを使用することには注意してください。これは、iOSの他のクラスと競合します。私は以前これに影響を与えてきました。 – Fogmeister

答えて

126

あなたはアプリケーションデリゲートのヘッダファイルにCoreData/CoreData.hをインポートする必要があります。

#import <CoreData/CoreData.h> 

あなたはおそらくoutyourアプリケーションを介してそれを使用するので、あなたがプリコンパイル済みヘッダーファイル、YourApp-Prefix.pchにそれを置く必要があります:

#ifdef __OBJC__ 
    #import <UIKit/UIKit.h> 
    #import <Foundation/Foundation.h> 
    #import <CoreData/CoreData.h> 
#endif 
+5

アプリケーションでCore Dataを使用している場合は、プロジェクトのSupporting FilesディレクトリのYourAppName-Prefix.pchファイルに同じ行を追加することもできます。 – robotpukeko

6

はちょうどあなたの実装ファイルに#importを< CoreData/CoreData.h>を記述します。それは動作します

関連する問題