假设我有一个枚举,例如:
enum AnimalType {
case Dog
case Cat
func barks() -> Bool {
switch self {
case Dog:
return true
case Cat:
return false
}
}
}
如果我要做这样的事情:
func pickAnimal(shouldBark: Bool) {
switch shouldBark {
case AnimalType.Dog.barks():
println("you should pick dogs")
case AnimalType.Cat.barks():
println("you should pick cats")
default:
println("don't pick cats or dogs")
}
}
调用 AnimalType.Dog.barks()
或 AnimalType.Cat.barks()
是否会实例化 AnimalType
?
最佳答案
是的,在这些示例中,AnimalType.Dog.barks()
实例化了 AnimalType
。
毕竟,barks()
是一个实例方法。除非由实例调用,否则无法调用它。
实例的生命周期会很短。只要足够长的时间来调用 barks()
方法即可。
关于ios - 直接调用 Swift 枚举实例方法会创建实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32462039/