Swift3 否'+';候选者产生预期的上下文结果类型';NSNumber?&x27;斯威夫特3

Swift3 否'+';候选者产生预期的上下文结果类型';NSNumber?&x27;斯威夫特3,swift3,xcode8,Swift3,Xcode8,在Xcode 8和Swift 3上,+出现了一个错误,我已经尝试过了,但没有结果。 代码如下: static func addNotificationInterval(title: String, body: String, indentifier: String, interval: Double) { let content = UNMutableNotificationContent() content.title = NSString.localizedUserNot

在Xcode 8和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?”

检查:

var徽章:NSNumber?

应用于应用程序图标的编号

在Swift 3中,许多隐式类型转换被删除,如
Int
NSNumber
。您需要显式地在它们之间转换类型

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

请确保使用CMD KThank对代码进行格式化,然后运行:)