【问题标题】: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

【问题讨论】:

    标签: ios objective-c swift xcode 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
        }
    }
    

    【讨论】:

    • 谢谢,但此解决方案不起作用。因为即使它阻塞了应用程序,它也会在运行时立即返回数据。但是,当您将数据写入部分注释行并再次打开应用程序时,数据将不会返回。
    猜你喜欢
    • 2017-01-26
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2011-04-28
    • 1970-01-01
    • 2019-07-20
    相关资源
    最近更新 更多