XCode6 beta 6 Swift编译器错误
我开始观看用户Brian Advent提供的YouTube Swift教程,特别是关于使用解析的远程推送通知的教程。 下载示例应用程序并在Xcode 6 beta 6上打开后,编译器会在下面的代码中显示一个错误:XCode6 beta 6 Swift编译器错误,swift,push-notification,parse-platform,xcode6,xcode6-beta6,Swift,Push Notification,Parse Platform,Xcode6,Xcode6 Beta6,我开始观看用户Brian Advent提供的YouTube Swift教程,特别是关于使用解析的远程推送通知的教程。 下载示例应用程序并在Xcode 6 beta 6上打开后,编译器会在下面的代码中显示一个错误: func application(application: UIApplication!, didReceiveRemoteNotification userInfo:NSDictionary!) { var notification:NSDictionary = u
func application(application: UIApplication!, didReceiveRemoteNotification userInfo:NSDictionary!) {
var notification:NSDictionary = userInfo.objectForKey("aps") as NSDictionary
if (notification.objectForKey("content-available") != nil){
if notification.objectForKey("content-available").isEqualToNumber(1){
NSNotificationCenter.defaultCenter().postNotificationName("reloadTimeline", object: nil)
}
}else{
PFPush.handlePush(userInfo)
}
错误在AppDelegate.swift内下面的这一行中
if notification.objectForKey("content-available").isEqualToNumber(1){
并且显示的消息是,“AnyObject?”没有名为“IsequalNumber”的成员。
有关于如何解决此问题的提示/帮助吗?我想感谢你objectForKey()
返回一个可选的AnyObject?
,所以你必须打开它
它使用显式执行代码>:
if notification.objectForKey("content-available")!.isEqualToNumber(1) { ...
或者,使用可选的赋值。如果与可选强制转换(as?
)结合使用,您可以
甚至可以使用NSNumber
自动桥接到本机数字类型的事实:
if let contentAvailable = notification.objectForKey("content-available") as? NSNumber {
if contentAvailable == 1 {
// ...
}
} else {
// ...
}
你能看看下面的新错误吗?我试图修复上面的第一个错误