我有一个像这样的枚举
enum TheType {
case a (CustomData)
case b (NSDictionary)
case c (String?)
case d
case e
...
}
在特定的地方,我只想检查类型是否为 b,但是在查阅了有关 if 和 case 的几个教程并尝试了几种排列后,我仍然无法编译它,这是尝试的最新变体:
let theType = TheType.b([:])
if case let TheType.b(_) == theType {...}
产生错误:“_”只能出现在作业左侧的模式中
或者这会产生不同的错误:
if case let TheType.b(let theDictionary) == theType {...}
交换事物以使 Type 位于 == 的左侧也会产生错误。
如何使用 if 语句检查枚举值的类型?
If case let
不仅仅是对方程的检查,运算符是错误的==
。要么是
或者
如果相关的值不重要的话
甚至
注意赋值运算符和不同的位置
let