我正在尝试使用 NSUserDefaults
与 WatchKit 文件共享我的数据。我试图拥有它,以便在执行按钮功能时将 watchLabel.setText
从数组中获取数据。选择数据的数组和函数是在 iOS 应用程序中创建的。 (不幸的是,我遇到的许多资源都是objective-C 的,或者非常模糊。)
我已经为 iOS 和 Watchkit 设置了应用组
在我的 iOS Swift 文件中,我尝试共享我的数组(arrayBook)和函数(.randomData)以与 WatchKit Controller 一起使用。 PS:我没有编译器错误。
let sharedDefaults = NSUserDefaults(suiteName: "group.applewatchtest") sharedDefaults?.arrayForKey(arrayBook.randomData()) sharedDefaults?.synchronize()
Watchkit Controller ;不确定获取数据并将标签设置为数组中的随机字符串的正确语法。 - 这是在 UIButton 函数内。
let sharedDefaults = NSUserDefaults(suiteName: "group.applewatchtest") let sharedArray = sharedDefaults?.arrayForKey("Shared") watchLabel.setText(arrayBook.randomData())
在获取数据以将标签设置为存储在我的 iOS 应用程序中的数组中的数据时,我在哪里出错了。
最佳答案
sharedDefaults?.arrayForKey(arrayBook.randomData())
这行代码没有执行任何操作。您正在从默认值读取数组,使用 arrayBook.randomData() 返回的任何键,并且不对其执行任何操作。
我假设你想要类似的东西
sharedDefaults?.setObject(arrayBook, forKey:"Shared")
这会将数组写入默认值。然后,您将其返回到 watch 中(看起来不错)并使用 randomData()
获取随机值。
关于ios - 使用 NSUserDefaults 与 watchkit 共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30629687/