观看连接传输消息

时间:2017-04-03 19:01:52

标签: swift3 realm watch-os-3

告诉我,在Watch Connectivity框架中是否可以通过session.sendMessage方法将以下类型的对象从iOS应用程序传输到WatchOS?如果可以,那怎么做?

要发送的对象类型:

  1. MyCustomClass
  2. [MyCustomClass]
  3. 结果< MyCustomClass> (境界)
  4. 感谢您的回答!

2 个答案:

答案 0 :(得分:2)

documentation for WCSession.sendMessage(_:replyHandler:errorHandler:)说:

  

<强>消息

     

要发送的属性列表值的字典。您可以定义对应方支持的字典的内容。此参数不得为零。

Property list types仅限于字典,数组,字符串,数字,日期,二进制数据和布尔值。您列出的类型不是属性列表类型,因此您需要先以某种方式对它们进行序列化,然后才能使用sendMessage(_:replyHandler:errorHandler:)发送它们。有关如何序列化自己的数据类型的信息,请参阅Apple's documentation on Object archiving

答案 1 :(得分:0)

您有两个选择:(1)使用PropertyList方法传递数据,如bdash所述,或者(2)通过在sendMessage(_:replyHandler:errorHandler:)方法中传递数据,方法是将消息变量构建为类型的字典{ {1}}然后在Watch Extension的[String:Any]方法中处理响应。

有关此方法的示例,请在此处查看:https://github.com/markfilter/iOS_WatchConnectivity_Tutorial