我的应用程序已经开发了几个月,现在被要求添加核心数据。SMH。它是一个 tabViewController 应用程序。我不知道这是否有助于回答。
所以在这里我试图添加它,但我遇到了错误。我在AppDelegate.h中为 Core Data 构建,所以我创建了这些 IVAR 并稍后在 .m 中适当地构建它们。
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
在需要 CoreData 交互的 viewControllers 中,我已经给出了它们(在 .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 和 2):
Property 'managedObjectContext' not found on object of type 'UIViewController *'
我不明白这一点,因为两个视图控制器中的属性显然存在并且是合成的。
我什至尝试过退出并重新启动 XCode。可能是系统重启?<-- 这很荒谬吗?
(我知道我添加的内容超出了您的需要。)有什么帮助吗?