swift 4.2 - 如何与 Guard 一起检查 var 是否具有有效的枚举值



我需要检查一个变量,即由func传递的变量是否是一个有效的枚举值。本身没有通过,而只是作为这里的一个例子。

enum CollectionDict : String {  // Mapping to String Model = "Model" or should I ...
case Model
case Type
case Element
case ....
}
....
guard  InColectionDict != CollectionDict else { return false }
....

显然我的样品防护线是错误的。我应该使用或做什么来正确保护,或者至少只是将 InColectionDict 变量与单行中的枚举 CollectionDict 进行比较/验证?

我确实希望能侥幸逃脱。

func makeItem ( _ item: String , with key : String , inCollection : CollectionDict ) -> Bool {
guard let res = CollectionDict.inCollection else { return false }

但它给了我一个错误。 当然提前谢谢你。

Swift 是强类型。 如果您的函数具有非可选的 Enum 参数,则在运行时保证它是有效的枚举值。

最新更新