我想要一个枚举,它可以采用一个 Integer 值并使用它来确定与它关联的情况并返回图像。下面是我想要实现的东西,但我不太知道如何实现它。非常感谢您的帮助!
enum Icon (input: Int) {
//use input value to check which case need to return image name
case 0...100
case 101...200
case 201+
var image: UIImage {
switch self {
case .0...100: return UIImage(named: "plane.png")!
case .101...200: return UIImage(named: "arrow.png")!
case .201+: return UIImage(named: "logo.png")!
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果你坚持使用枚举,你可以使用这个:
enum Icon: String {
case plane: "plane.png"
case arrow: "arrow.png"
case logo: "logo.png"
static func image(for value: Int) -> UIImage {
let icon: Icon
switch value {
case 0...100:
icon = .plane
case 101...200:
icon = .arrow
case 200...:
icon = .logo
default:
fatalError("Invalid int value")
}
return UIImage(named: icon.rawValue)!
}
}
Run Code Online (Sandbox Code Playgroud)
虽然肯定以下更简单:
func image(for value: Int) -> UIImage {
switch value {
case 0...100:
return UIImage(named: "plane.png")!
case 101...200:
return UIImage(named: "arrow.png")!
case 200...:
return UIImage(named: "logo.png")!
default:
fatalError("Invalid int value")
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |