如何添加核心数据堆栈到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
好,感谢在您的应用程序的任何地方访问它。我做到了。另一个问题,我可以/我应该在iOS应用程序中执行此操作吗?因为我一直在向任何地方传递我的managedObjectContext变量,正如Ray Wenderlich的iOS学徒书所教导的。我猜这可能没有太大的区别,因为你仍然需要获得对'coreDataStack'的引用。 – toast
如果您的iOS应用程序正常工作,则看不到任何更改iOS应用程序的原因。我认为如果你的应用程序加载了视图控制器,并且你试图跟踪你的Moc实例,这对我来说似乎也是一个更简单的方法,但在应用程序委托中有模型代码感觉不对。 – Peter
好的,非常感谢您的帮助! :) – toast