如何将文本从 ViewController (iOS) 发送到 InterfaceController (Watch Kit)?

How to send Text from ViewController (iOS) to InterfaceController (Watch Kit)?

我正在创建一个 iOS 应用程序来显示从麦克风到 UILabel 的分贝数。我完全忘记了提前考虑 WatchKit 目标设备并且没有太多经验。我想知道有没有办法将我的 iOS ViewController 中的 UILabel 的 .text 信息发送到 WatchKit InterfaceController?我尝试用我自己的 class 发送它,但它没有显示任何内容。我确实注意到标签不同。 WatchKit 使用 WKInterfaceLabel 而不是 UILabel。

到目前为止我做了什么: 1. 创建了一个新的 class 以允许字符串参数使用 public 函数更新其自身的标签。 2.把watch的mainclass改成我刚创建的那个。 3. 创建了一个变量来引用新创建的 class。 4. 将 label.text 作为参数发送给 class 以更新手表 label.text 5. Public 函数有效,但不适用于我当前的 updateMeters() 函数和 0.5 毫秒定时器

已编辑:

终于使用 WatchConnectivity Kit 和 DispatchQueue.main.async(execute: {})

让它工作了

主要方法是使用 WatchConnectivity 框架。

通过使用修复:

  • WatchConnectivity 套件
  • DispatchQueue.main.async(执行:{})

随 applicationContext 发送的数据