如何解决"Initializer for conditional binding must have Optional type, not 'Int'"?

How to resolve "Initializer for conditional binding must have Optional type, not 'Int'"?

我看过如何解决此错误的示例,但我无法在我的案例中使用它。

Initializer for conditional binding must have Optional type, not 'Int'

不应该 employeeCount 是可选的,因为它正在推断右侧?

static func getEmployeeCount() -> Int {
    if let employeeCount = UserDefaults.standard.integer(forKey: "employeeCount") {
        return employeeCount as! Int
    }
    return 0
}

问题是UserDefaults.standard.integerreturnInt,不是Int?。所以你不需要用 if let.

包装它

optional是否在右侧无关

在你的情况下,只需 return UserDefaults.standard.integer(forKey: "employeeCount")