确定关联枚举中的哪个枚举



我已经创建了一个相关的Enum,但是我似乎无法弄清楚如何创建一个确定哪个的if else语句。我所做的似乎不管用。我做错了什么?还是不能使用关联的枚举。

enum Type {
    case Cat(name: String, outDoor: Bool)
    case Dog(name: String, activityLevel: Int)
}

class Person {
    var type: Type?
}

func checkType(object: Person) {
    if object.type == .Cat {
    }
}

你必须使用switch语句,除非你使用Swift 2.0,因为它有新的if case语句。

enum Type {
    case Cat(name: String, outDoor: Bool)
    case Dog(name: String, activityLevel: Int)
}
class Person {
    var type: Type?
}
func checkType(obj:Person) {
    if let type = obj.type {
        if case .Cat(name:let n, outDoor:let o) = type {
            print(n)
            print(o)
        }
    }
}

最新更新