ios - 使用 NSUserDefaults 与 watchkit 共享数据

标签 ios swift nsuserdefaults watchkit

我正在尝试使用 NSUserDefaultsWatchKit 文件共享我的数据。我试图拥有它,以便在执行按钮功能时将 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/

相关文章:

ios - 将参数从 UITableViewCell 传递到 UITableView(动态内容)

ios - Firebase .childAdded 在 Xcode 中产生重复输出

ios - 无法关闭导航 Controller 中嵌入的两个 View Controller

ios - 需要创建一个用户默认值,将双倍保存为高分(swift 3)

ios - 现有系统上的 Homekit 实现

ios - 苹果开发者账户中的公平竞争流媒体证书错误

ios - MLMultiArray 使用未声明的类型错误

Swift:无法将 .prettyPrinted 格式的字符串添加到 forHTTPHeaderField

ios - 读取“设置包”简单值的值

objective-c - 使用 NSUserDefaults 错误保存隐藏按钮状态