我正在尝试简单地测试iCloud的键值存储,并使用模拟器和我的设备(已登录到iCloud)将一些整数和字符串设置为默认容器。但是,当我调用saveSettings()时,出现“ NSUbiquitousKeyValueStore ... setValue:forUndefinedKey ...此类与键val1的键值编码不兼容”的错误。我已经设置了应用程序ID和配置文件,并被告知NSUbiquitousKeyValueStore的工作方式类似于UserDefaults,那么我可能会丢失什么?我还尝试了cloudStore.set()进行同步,但是cloudStore.value(forKey :)导致了同样的错误。
struct Keys {
static let val1 = "val1"
static let val2 = "val2"
static let text = "text"
}
func saveSettings() {
let cloudStore = NSUbiquitousKeyValueStore.default
cloudStore.setValue(segmented1.selectedSegmentIndex, forKey: Keys.val1)
cloudStore.setValue(segmented2.selectedSegmentIndex, forKey: Keys.val2)
cloudStore.setValue(textField.text, forKey: Keys.text)
if cloudStore.synchronize() {
print("Syncronized!")
} else {
print("Failed to syncronize...")
}
}
答案 0 :(得分:0)
好,所以我要寻找的是cloudStore.set()和cloudStore.object()。