2016-09-26 40 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

格式化您的代碼謝謝它運行:) –

相關問題