在 PubNub Swift 中访问 PNMessageResult [英] Access PNMessageResult in PubNub Swift

查看:73
本文介绍了在 PubNub Swift 中访问 PNMessageResult的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

查看此链接

基于以下功能,我能够收到响应,

Based on the following function I am able to receive the response,

func client(client: PubNub!, didReceiveMessage message: PNMessageResult!) {
println(message)

但是,我只能以 PNMessageData 格式的 message.data 形式访问数据.

But, I am able to access the data only as message.data which is in the format of PNMessageData.

即使返回以下格式的数据:

Even that returns the data in following format:

{
message = "{}";
subscribedChannel = 123;
timetoken = 14392105288780634;}

我将如何访问 message.data(PNMessageData) 中消息的值?

How will I access the value of message inside the message.data(PNMessageData) ?

推荐答案

我写了一个简单的方法来解析 PNMessageResult

I have written simple method to parse PNMessageResult

func client(_ client: PubNub, didReceiveMessage message: PNMessageResult) {

    //Message Received on Channel:
    let channel = message.data.channel

    //Message Received:
    guard let messageData = message.data.message as? [String : AnyObject] else { return }

    //Event:
    guard let event:String = messageData["event"] as? String 

    let data:AnyObject = messageData["data"] else { return }

    guard let dict = data as? NSDictionary else { fatalError("Couldn't parse pubnub message") }

    //This will be message in dictionary
    let mutableDict = dict.mutableCopy() as! NSMutableDictionary

}

这篇关于在 PubNub Swift 中访问 PNMessageResult的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆