我已经创建了一个关联的枚举,但是我似乎无法弄清楚如何创建一个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 {
}
}
答案 0 :(得分:1)
您必须使用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)
}
}
}