swift - 基于 Enum Swift 自动为对象赋值

标签 swift enums

所以我有这个对象

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/

相关文章:

ios - 当我们导入任何文件时,Xcode 7.3 类文件搜索不可用

ios - 如何在 iOS 中打开系统字体的高易读性替代品?

ios - 为二维表设置核心数据

ios - SceneKit 使用两个向量设置旋转

ios - Swift3 Firebase 检索数据

java - 使用 EnumSet 检查 either/or

c - 在 C 中使用枚举类型变量作为字符串的简单方法?

node.js - 在代码中创建 Node.js 枚举以匹配数据库中的值列表

java - 访问枚举内的静态字段

java - 如何在java中重构这个Enum