【发布时间】:2016-04-17 09:36:27
【问题描述】:
我的目标是从 iOS 应用程序向 watchKit 应用程序发送一个巨大的字典(包含大约 10 个数组),但我在 watchKit 端没有得到任何输出。
如果我发送一个字符串,下面的例子可以正常工作:
let message = [ "fromParent": "some string" ]
session.sendMessage(message, replyHandler: { replyDict in }, errorHandler: { error in })
但是当我尝试发送字典时,我根本没有得到任何输出:
let message = [ "fromParent": dictionary ]
session.sendMessage(message, replyHandler: { replyDict in }, errorHandler: { error in })
这就是我在 watchKit 端打印输出的方式:
func session(session: WCSession, didReceiveMessage message: [String: AnyObject], replyHandler: [String: AnyObject] -> Void) {
guard let parentMessage = message["fromParent"] as? String else { return }
print(parentMessage)
}
【问题讨论】:
-
你试过在 Xcode 中调试这个吗?你应该已经意识到
as? String意味着parentMessage不会被打印出来。 -
@PetahChristian 没注意到 as 真是太愚蠢了?字符串,但无论如何 - 我无法通过 sendMessage 传输(>100kb)大字典(只是相对较小的字典)
标签: ios swift watchkit watchconnectivity wcsession