我的应用已经开发了几个月,现在被要求添加Core Data。唉,这是一个tabViewController应用程序。我不知道这是否有助于回答问题。
所以我正在尝试添加它,但是我遇到了错误。我在AppDelegate.h中构建了Core Data,因此我创建了这些IVARs,并在.m文件中适当地构建它们。
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
在需要使用CoreData交互的视图控制器中,我已经给它们(在.h文件中)添加了以下内容:
@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
并将它们综合在 .m 文件中:
@synthesize fetchedResultsController = __fetchedResultsController;
@synthesize managedObjectContext = __managedObjectContext;
现在,回到AppDelegate。在.m文件中,当我试图将指向managedObjectContext的指针从委托传递给视图时(如下所示):
viewController1.managedObjectContext = self.managedObjectContext;
viewController2.managedObjectContext = self.managedObjectContext;
我遇到了一个XCode错误,错误信息如下(分别针对viewController1和viewController2):
Property 'managedObjectContext' not found on object of type 'UIViewController *'
我不理解这个,因为两个视图控制器中的属性都显然存在并被合成。
我甚至试过退出并重新启动XCode。也许需要重新启动系统?<--这听起来很荒谬吗?
(我知道我可能添加了比你所需更多的内容..)有什么帮助吗?