我是否必须使用正则表达式来提取消息或是否有属性?

时间:2016-12-12 07:42:01

标签: ios regex swift

我在推送通知的委托中定义了以下函数。

func pushManager(pushManager: AWSPushManager, didReceivePushNotification userInfo: [NSObject : AnyObject]) {

    print("Received a Push Notification: \(userInfo.description)")
    let x = userInfo.description
}

只要我的应用收到推送通知,就会调用此函数。 userInfo的description属性包含推送消息,它采用以下格式:“[aps:{\ n alert =; \ n}]”。我想知道什么是获取消息部分的最佳方式。我可以使用正则表达式来提取消息部分,但我不确定消息的模式。这甚至是一种正确的方式吗?我在想是否有一个返回干净消息的函数。

1 个答案:

答案 0 :(得分:0)

aps的格式是JSON。您需要将“userInfo”序列化为JSON格式。为此,您可以使用类似SwiftyJSON的框架:

let json = JSON(userInfo)

现在你可以像这样访问APS了

print(json["aps"])

您可以使用标准函数(包含在Swift中)初始化JSON,但是,您需要先将userInfo转换为数据。