我有一个具有不同关联值自定义类的枚举。然后尝试创建一个计算值,以确定是否是一种特定类型,如果是,则返回该值。下面的方法使用一个开关来计算值,但看起来有点笨拙。有没有更清洁的方法?谢谢。
private enum Situation: Equatable {
case inLocation(LocationMO)
case heldByBeing(BeingMO)
case inContainer(PhysicalObjectMO)
}
private var isInSituation: Situation
var isInLocation: LocationMO? {
switch isInSituation {
case .inLocation(let validLocation): return validLocation
default: return nil
}
}