gpt4 book ai didi

arrays - 如何打印从 watch 连接即时消息返回的数组

转载 作者:行者123 更新时间:2023-11-28 12:39:11 25 4
gpt4 key购买 nike

我的 iPhone 正在发送一个数组作为 watch 连接消息。如何打印 watch 收到的数组?当我尝试打印数组时收到“nil”。

当我在手机上打印我发送的 watch 消息数组时,它返回:["message1": ["username": "Guest User", "titleItem": "Hillary ad Mirrors"]],

我在手机上发送消息的代码是:

函数 sendMessage() {

    var messageDataArray1 = ["username":"Guest User",  "titleItem":titleItem!]

// Send message
if (WCSession.defaultSession().reachable) {
print("sending watch message array:")

var message1 = ["message1":messageDataArray1]

print(message1)

WCSession.defaultSession().sendMessage(message1,
replyHandler: { (reply) -> Void in
dispatch_async(dispatch_get_main_queue(), {
print("received return watch msg")
})
},
errorHandler: { (error) -> Void in
dispatch_async(dispatch_get_main_queue(), {
//self.receivedMessageLabel.setText("error")
})
}
)
}
}

我在 watch 接收 Controller 上的代码是:

// MARK: - WCSessionDelegate
func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void) {
print("received Imessage from ph")
if let msg = message["message1"] as? String {
print(msg)
}
}

最佳答案

message["message1"] 将为您提供 messageDataArray1,它是 [String:String] 类型的字典,但您尝试将其转换为 String,这将始终失败并返回 nil

您应该将其转换为 [String:String]

if let userData = message["message1"] as? [String:String] {
let username = userData["username"]
print(username) //output: "Guest User"

let titleItem = userData["titleItem"]
print(titleItem)
}

关于arrays - 如何打印从 watch 连接即时消息返回的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39949853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com