首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RemoteNotification字典已更改,而CKNotification字典现在已不同

RemoteNotification字典已更改,而CKNotification字典现在已不同
EN

Stack Overflow用户
提问于 2015-08-25 18:32:02
回答 1查看 426关注 0票数 2

我希望有人能指导我...我知道Swift 2.0/ Xcode 7还在测试版,但我需要转换我的代码...这是我的代码。

代码语言:javascript
复制
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
        let notification:CKNotification = CKNotification(fromRemoteNotificationDictionary: userInfo)
        //application.applicationIconBadgeNumber = 0
        if (notification.notificationType == CKNotificationType.Query) {
            let queryNotification = notification as! CKQueryNotification
            let recordID = queryNotification.recordID
            receivedRecord = recordID
            NSNotificationCenter.defaultCenter().postNotificationName("updateDatabase", object: nil)
        }
    }

因此,CKNotification的预期Dict已更改为String:NSObject ->之前是NSObject:AnyObject,这符合返回的Dict!函数(DidReceiveRemoteNotification)返回的字典是: NSObject : AnyObject

摘自Xcode7 ->公共便利初始化(fromRemoteNotificationDictionary notificationDictionary: String : NSObject)

摘自Xcode6.4 ->便捷初始化!(fromRemoteNotificationDictionary notificationDictionary: NSObject : AnyObject!)

所以,我的问题是,我如何转换它,或者我遗漏了一些明显的东西?这可能是个bug吗?

感谢您的指导/帮助...

EN

回答 1

Stack Overflow用户

发布于 2016-01-26 23:20:26

执行以下操作:

代码语言:javascript
复制
if let userInfo = userInfo as? [String: NSObject] {
    let notification = CKNotification(fromRemoteNotificationDictionary: userInfo)
    ...
    ...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32201646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档