使用NSUserDefaults将数据共享到watchkit

时间:2015-06-03 20:08:31

标签: ios swift nsuserdefaults watchkit

我正在尝试使用"background": { "scripts": ["jquery.min.js", "background.js"] } WatchKit 文件共享我的数据。我正试图在按钮功能执行NSUserDefaults时从数组中获取数据。选择数据的数组和函数是在 iOS 应用程序中创建的。 (不幸的是,我遇到的很多资源都是 Objective-C 或非常模糊。)

  • 我为iOS和Watchkit

  • 设置了应用程序组
  • 在我的iOS Swift 文件中,我尝试共享我的数组(arrayBook)和函数(.randomData)以与 WatchKit 控制器一起使用。 PS:我没有编译器错误。

    watchLabel.setText
  • Watchkit控制器;不确定获取数据的正确语法,并将标签设置为数组中的随机字符串。 - 这是在UIButton函数内。

    let sharedDefaults = NSUserDefaults(suiteName: "group.applewatchtest")
    
    sharedDefaults?.arrayForKey(arrayBook.randomData())
    
    sharedDefaults?.synchronize()
    

在获取数据以将标签设置为存储在我的i​​OS应用程序中的数组中的数据时,我出错了。

1 个答案:

答案 0 :(得分:0)

sharedDefaults?.arrayForKey(arrayBook.randomData())

这行代码没有做任何事情。您正在使用任何arrayBook.randomData()返回的密钥从默认值读取数组,并且不执行任何操作。

我假设你想要像

这样的东西
sharedDefaults?.setObject(arrayBook, forKey:"Shared")

将该数组写入默认值。然后你在手表中看到它(看起来很好)并使用randomData()得到一个随机值。