如何添加核心数据堆栈到WatchKit应用程序

问题描述:

如何将我的核心数据堆栈(从我的iOS应用程序)添加到我的WatchKit应用程序?在我的iOS应用程序中,核心数据堆栈位于我的AppDelegate中,但在我的WatchKit应用程序中没有AppDelegate。这是否意味着我需要为Watch应用创建一个新的AppDelegate文件?如何添加核心数据堆栈到WatchKit应用程序

您可以将堆栈放入单例中。创建一个新类让它成为一个单例,所以你知道你将只有一个实例。

class CoreDataStack: NSObject { 
    // MARK: - Singleton with private init 
    static let sharedInstance = CoreDataStack() 
    private override init(){ 
    } 
    // add your core data stack here 
} 

然后,你可以通过简单地

let coreDataStack = CoreDataStack.sharedInstance 
//and then you can do things like 
let myManagedObjectContext = coreDataStack.managedObjectContext 
+0

好,感谢在您的应用程序的任何地方访问它。我做到了。另一个问题,我可以/我应该在iOS应用程序中执行此操作吗?因为我一直在向任何地方传递我的managedObjectContext变量,正如Ray Wenderlich的iOS学徒书所教导的。我猜这可能没有太大的区别,因为你仍然需要获得对'c​​oreDataStack'的引用。 – toast

+0

如果您的iOS应用程序正常工作,则看不到任何更改iOS应用程序的原因。我认为如果你的应用程序加载了视图控制器,并且你试图跟踪你的Moc实例,这对我来说似乎也是一个更简单的方法,但在应用程序委托中有模型代码感觉不对。 – Peter

+0

好的,非常感谢您的帮助! :) – toast