所以我有这个对象
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。我已经创建了一个Enum
enum State: String {
case A
case B
case C
}
我正在考虑使用案例A(值),但不确定如何实现它。
任何人都可以指导我如何实现这一目标吗?或者还有其他我可以使用的最佳方法吗?
谢谢!
答案 0 :(得分:1)
尝试didSet
,并创建可能值的数组
@objc dynamic var stateID = 0
{
didSet {
stateName = arr[stateID]
}
}
答案 1 :(得分:0)
如果您只打算使用枚举,我认为创建枚举不是一个好主意,而是可以在初始化期间使用switch语句使用私有函数:
val signedTransaction = serviceHub.validatedTransactions.getTransaction(transactionHash)
val ledgerTransaction = signedTransaction.toLedgerTransaction(serviceHub)