检查 iCloud 帐户是否打开并将其写入核心数据

Check if iCloud Account is On and write it to Core Data

我知道如何检查 iCloud 是否开启:

if var transactionLogsURL:NSURL = fileManager.URLForUbiquityContainerIdentifier(nil){
ON...}else{OFF..}

但是在 lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {}() 中我无法通过 var context:NSManagedObjectContext = managedObjectContext! 并且我无法将它添加到 CoreData 是打开还是关闭。有什么建议吗?

这是我的建议:不要将 iCloud 状态写入持久存储。用户可以随时启用或禁用 iCloud。存储当前值没有意义,因为下次您想知道时可能会出错。

而是在应用程序启动时检查 iCloud 状态,并观察 iCloud 状态已更改的通知。状态本质上是易失性数据,将其保存到持久存储中没有意义。