小编vol*_*757的帖子

在Swift中访问userInfo字典

我正在尝试访问userInfo字典,application:didReceiveRemoteNotification()以便我可以根据收到的推送类型/是否收到任何推送来选择segue.我已经尝试过这两种方式(其他一些方式,我敢肯定,我现在还记不起来).

if let info = userInfo as? Dictionary<String,String> {
        var notificationType = info["notificationType"]
}


if let info: String = userInfo["notificationType"] as? String {
        //do stuff
}
Run Code Online (Sandbox Code Playgroud)

我没有得到任何错误,我根本没有得到任何东西.如果我打印userInfo字典,它只有一个成员["aps"],其中包含显示给用户的推送消息,所以即使我可以访问它,我也可以使用它进行条件化.

我尝试按照Parse API写入userData:

let data = ["notificationType" : "coffee"]
push.setData(data)
Run Code Online (Sandbox Code Playgroud)

所以一个问题是这似乎没有设置任何东西,但更大的问题是我无法获取任何userInfo数据.

你怎么访问这本字典?

编辑

一些打印声明结果:

println(userInfo["aps"]) => {alert = "You've Been Invited To A Coffee Order";}

println(userInfo) => [aps: {alert = "You've Been Invited To A Coffee Order";}, type: coffee]

println(userInfo[0]) => nil

let info = userInfo as? Dictionary<String,String>
println(info) => …
Run Code Online (Sandbox Code Playgroud)

notifications dictionary ios parse-platform swift

1
推荐指数
1
解决办法
6442
查看次数

NSInvalidArgumentException:无法识别的选择器发送到实例| 迅速

我意识到这个问题已被多次提出,但它似乎是由许多不同的事情引起的,并且非常具有情境性.

我的踪迹:

2015-02-27 16:20:06.289 RTApp[43486:1122681] -[RTApp.conversationVC keyboardWasShown]: unrecognized selector sent to instance 0x7f866a766830
2015-02-27 16:20:06.291 RTApp[43486:1122681] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RTApp.conversationVC keyboardWasShown]: unrecognized selector sent to instance 0x7f866a766830'
*** First throw call stack:
(
0   CoreFoundation                      0x00000001071b8f35 __exceptionPreprocess + 165
1   libobjc.A.dylib                     0x0000000106e51bb7 objc_exception_throw + 45
2   CoreFoundation                      0x00000001071c004d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3   CoreFoundation                      0x000000010711827c ___forwarding___ + 988
4   CoreFoundation                      0x0000000107117e18 _CF_forwarding_prep_0 + 120
5   CoreFoundation                      0x0000000107188cec __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
6   CoreFoundation                      0x00000001070888a4 _CFXNotificationPost …
Run Code Online (Sandbox Code Playgroud)

keyboard ios swift

0
推荐指数
1
解决办法
6573
查看次数