2016-11-30 97 views
0

如何將我的核心數據堆棧(從我的iOS應用程序)添加到我的WatchKit應用程序?在我的iOS應用程序中,核心數據堆棧位於我的AppDelegate中,但在我的WatchKit應用程序中沒有AppDelegate。這是否意味着我需要爲Watch應用創建一個新的AppDelegate文件?如何添加核心數據堆棧到WatchKit應用程序

回答

0

您可以將堆棧放入單例中。創建一個新類讓它成爲一個單例,所以你知道你將只有一個實例。

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

相關問題