所以我有这个对象
class StationDetailsDTO: Object, Mappable {
@objc dynamic var stateID = 0
@objc dynamic var stateName = String()
}
此对象将从 API 响应对象分配。
现在的问题是 API 将只返回 stateID,而没有 stateName。
所以我想实现的是,有没有什么方法可以根据自己创建的 Enum 自动分配 stateName?
因为现在我正在使用普通的 if-else 检查
If stateID == 0 {
stateName = "A"
}
else if stateID == 1 {
stateName = "B"
}
我觉得这不是最好的实现方法。我正在考虑使用枚举。我已经创建了一个枚举
enum State: String {
case A
case B
case C
}
我正在考虑使用案例 A(值),但不太确定如何实现它。
谁能指导我如何实现这一目标?或者还有其他我可以使用的最佳方法吗?
谢谢!
最佳答案
尝试 didSet
,并创建一个可能值的数组
@objc dynamic var stateID = 0
{
didSet {
stateName = arr[stateID]
}
}
关于swift - 基于 Enum Swift 自动为对象赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50601625/