Hi, I wonder what's the correct way to express something like this in swift:

Say I have a superclass with two subclasses:

class Animal {}
class Dog: Animal {
    let name = "Dog"
}
class Cat: Animal {
    var name: String {
        return "Cat"
    }
}

And I want to display the name with a switch:

switch animal {
case let a as Dog, let a as Cat:
    label.text = a.name
default:
    break
}

Swift currently won't allow me to use multiple value-binding patterns like 
this. I wonder what's the right way to express it? Must I repeat the statements?

switch animal {
case let a as Dog:
    label.text = a.name
case let a as Cat:
    label.text = a.name
default:
    break
}

I also tried fallthrough, but swift won't let me fall through to a 
value-binding pattern:

switch animal {
case let a as Dog:
    fallthrough // error
case let a as Cat:
    label.text = a.name
default:
    break
}

I'm at my wits end. Could someone shed some light on this? Thanks.
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to