作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经创建了一个关联的枚举,但是我似乎无法弄清楚如何创建一个 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)
}
}
}
关于ios - 确定关联枚举中的哪个枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811836/
我是一名优秀的程序员,十分优秀!