Below method can build success:
let maxValue = Float(max(UIScreen.main.bounds.size.width, UIScreen.main.bounds.size.height))
let dicQuality = profileConfig?.getImageQuality() ?? String: Any
let quality: Float = 0.5
let keyMap = dicQuality.keys.sorted { $0.toFloat(defaultValue: 0) > $1.toFloat(defaultValue: 0) }.first(where: { maxValue <= $0.toFloat(defaultValue: 0) })
if let key = keyMap {
return dicQuality.float(forKey: key, defaultValue: 0.5)
}
return quality
But Xcode yield error when I change to:
let maxValue = Float(max(UIScreen.main.bounds.size.width, UIScreen.main.bounds.size.height))
let dicQuality = profileConfig?.getImageQuality() ?? String: Any
let quality: Float = 0.5
if let keyMap = dicQuality.keys.sorted { $0.toFloat(defaultValue: 0) > $1.toFloat(defaultValue: 0) }.first(where: { maxValue <= $0.toFloat(defaultValue: 0) }) {
return dicQuality.float(forKey: keyMap, defaultValue: 0.5)
}
return quality
The error is: