我正在执行以下操作,但收到以下警告:
enum Seat {
case middle
case window
case aisle(Int)
}
let m : Seat = .middle
let w : Seat = .window
let a : Seat = .aisle(5)
let seats = [m,w,a]
for seat in seats {
if case let .middle = seat {
print("middle")
}
if case let .window = seat {
print("window")
}
if case let Seat.aisle(row) = seat {
print("able to let row be the associatedvalue of seat; its value is: \(row)")
}
}
最佳答案
这很简单。在这三种情况下,只有 aisle
具有 Int
类型的关联值。您的 .middle
和 .window
案例没有要提取的关联值,即没有要绑定(bind)的值。只要知道是这样就足够了。要使警告消失更改:
if case let .middle = seat
至:
if case .middle = seat
您的
.window
案例也是如此关于swift - 获得 'let' 模式警告无效;子模式没有绑定(bind)任何变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53165284/