如何确定“NSUbiquitousKeyValueStore.default.set”结果是不是成功
Posted
技术标签:
【中文标题】如何确定“NSUbiquitousKeyValueStore.default.set”结果是不是成功【英文标题】:How to find out if the "NSUbiquitousKeyValueStore.default.set" result was successful如何确定“NSUbiquitousKeyValueStore.default.set”结果是否成功 【发布时间】:2020-12-12 14:27:50 【问题描述】:我正在将数据从我的应用程序写入 iCloud,如下所示。如何判断这个过程是否成功?
NSUbiquitousKeyValueStore.default.set("data", forKey: "key")
NSUbiquitousKeyValueStore.default.synchronize()
参考:https://developer.apple.com/documentation/foundation/nsubiquitouskeyvaluestore
【问题讨论】:
【参考方案1】:设置好后应该可以得到值,看看是否设置正确。
我认为重要的是要注意您的数据实际上是一个字符串,因此您将使用 NSUbiquitousKeyValueStore.default 的 string() 函数来获取值。获取存储值所需的函数将根据值的变量类型而变化。
// Set value
let data: String = "data"
NSUbiquitousKeyValueStore.default.set(data, forKey: "key")
NSUbiquitousKeyValueStore.default.synchronize()
// Try to get value
if let dataString = NSUbiquitousKeyValueStore.default.string(forKey: "key")
if dataString == data
// The data stored correctly
else
// Handle condition if data is not stored
【讨论】:
谢谢,但此解决方案不起作用。因为即使它阻塞了应用程序,它也会在运行时立即返回数据。但是,当您将数据写入部分注释行并再次打开应用程序时,数据将不会返回。以上是关于如何确定“NSUbiquitousKeyValueStore.default.set”结果是不是成功的主要内容,如果未能解决你的问题,请参考以下文章