我正在开发一个使用表格视图和详细视图的简单核心数据应用程序。我收到错误消息,指出在对象类型 ChildrenTVC 中找不到属性 managedObjectContext。问题是它确实存在。我已经清理了项目并删除了派生数据。一定有其他事情发生。下面是对象头的代码:
@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 中无法解释的一些事情。