2016-09-26 86 views
3

在Xcode 8和Swift 3上出现错误+我尝试过任何事情,但没有得到任何结果。 下面的代码:没有'+'候选产生预期的上下文结果类型'NSNumber?' Swift 3

static func addNotificationInterval(title: String, body: String, 

indentifier: String, interval: Double) { 

    let content = UNMutableNotificationContent() 
    content.title = NSString.localizedUserNotificationString(forKey: title, arguments: nil) 
    content.body = NSString.localizedUserNotificationString(forKey: body, arguments: nil) 
    content.sound = UNNotificationSound.default() 
    content.badge = UIApplication.shared.applicationIconBadgeNumber + 1; content.categoryIdentifier = "com.elonchan.localNotification" 

    let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: interval, repeats: true) 
    let request = UNNotificationRequest.init(identifier: indentifier, content: content, trigger: trigger) 
    let center = UNUserNotificationCenter.current() 

    center.add(request) 

    print("SetNotifiInterval") 

} 

错误来这里由+:

content.badge = UIApplication.shared.applicationIconBadgeNumber + 1; content.categoryIdentifier = "com.elonchan.localNotification" 

错误类型: '?NSNumber的'

没有 '+' 候选人产生预期的语境结果类型

+0

请确定您使用CMD-K – Fogmeister

回答

9

检查the latest reference of UNMutableNotificationContent

var badge: NSNumber?

数应用到应用程序的图标。

在Swift 3中,许多隐式类型转换(如IntNSNumber)都被删除。你需要明确地在它们之间建立类型。

content.badge = (UIApplication.shared.applicationIconBadgeNumber + 1) as NSNumber; ... 
+0

格式化您的代码谢谢它运行:) –

相关问题