web-dev-qa-db-ja.com

このコードで「不明なタイプ名NSManagedObjectContext」が表示されるのはなぜですか?

このコードで「不明なタイプ名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
19
Greg

次に、CoreDataフレームワークヘッダーをCoreDataクラスを使用するすべてのファイルにインポートする必要があります。

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

グレッグが上で述べたように、XCode 4がこれを処理する方法は、他のソースフォルダ/グループで見つけた#import <CoreData/CoreData.h>ファイルに[projectname]_Prefix.pchを追加することです。

6
Nick