テーブルビューと詳細ビューを使用するシンプルなコアデータアプリに取り組んでいます。プロパティmanagedObjectContextがオブジェクトタイプChildrenTVCに見つからないことを示すエラーメッセージが表示されます。問題はそれが本当にそこにあるということです。プロジェクトをクリーンアップし、派生データを削除しました。他に何かが起こっているに違いありません。オブジェクトヘッダーのコードは次のとおりです。
@interface ChildrenTVC : CoreDataTableViewController <AddChildTVCDelegate>
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
@end
および実装ファイルのコード:
#import "ChildrenTVC.h"
@implementation ChildrenTVC
@synthesize managedObjectContext = _managedObjectContext;
@synthesize fetchedResultsController = _fetchedResultsController;
エラーが登録されるアプリデリゲートファイルは次のとおりです。
#import "AppDelegate.h"
#import "ChildrenTVC.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize managedObjectContext = __managedObjectContext;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: ( NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
ChildrenTVC *controller = (ChildrenTVC *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
return YES;
}
エラーはcontroller.managedObjectContextにあります。これの多くは定型コードであるため、それほど多くはありません。管理対象オブジェクトコンテキストのプロパティが表示されない理由がわかりません。プロパティはコード内にあります。
アップデート:
結局、ファイルを完全に再作成しました。ファイルが変更されたときにどの参照がまだ残っているかはわかりませんが、何かが間違ったファイルを指していました。新しいファイルを正しく機能させるには、ゴミ箱を空にする必要がありました。しかし、今はうまくいくようです。私が行ったすべての調査により、Xcodeには説明できないことがいくつかあることが明らかになりました。