【发布时间】:2020-10-29 10:22:45
【问题描述】:
我有一个枚举:MyEnum。
enum MyEnum {
case One
case Two
}
然后我有一个具有MyEnum 类型属性的类。
class MyClass {
var myEnum: MyEnum
init(myEnum: MyEnum) {
self.myEnum = myEnum
}
}
现在我有一个MyClass 类型的变量,其MyEnum 属性必须是One。这是我不知道该怎么做的部分。
var myVar: MyClass where { self.myEnum == .One } = MyClass(myEnum: .One) // doesn't work
以下内容不应该像var myInt: Int = "Hello World" 不工作一样工作。
var myVar: MyClass where { self.myEnum == .One } = MyClass(myEnum: .Two)
【问题讨论】:
-
var myVar: MyClass where { self.myEnum == .One } = MyClass(Bool.random() ? .One : .Two)怎么样?它应该编译还是不编译?如果我在它们之间随机选择,编译器如何提前知道参数是.One还是.Two?
标签: swift types enums properties constraints