【发布时间】:2021-10-15 20:23:59
【问题描述】:
我正在尝试使用 WatchConnectivity 库将数据从手表传输到 iPhone。使用 transferUserInfo(_:) 方法,我发现我可以传输任何结构体,可以是 Int、Double 或 String,但不能传输带有数据的类。
有趣的是,文档将函数描述为:
func transferUserInfo(_ userInfo: [String : Any] = [:]) -> WCSessionUserInfoTransfer
因此,我将 Any 视为任何结构或类。我没有具体读到该方法不支持传输类。我是否应该从参数描述中的句子中读到这一点:“您要发送的属性列表值的字典”?
是否有人对这种方法有比我从信息中得到的更深入的了解?
【问题讨论】:
-
我认为“属性列表值”是重要的部分。它肯定可以更明确。请记住,这是来自 Obj-C 而不是 Swift。例如,在更现代的 API 中,我希望它接受
Codable,但这不是纯 Swift 的情况。 -
@jnpdx,你说得对,我不是一个好的读者:)。字典只能是属性列表值,并且只支持有限数量的值。谢谢。
-
您好 jnpdx,如果您将您的评论放在一个精心制定的答案中,我可以奖励您积分。
标签: swift watchkit watchconnectivity