In swift erlaubt die if let-Syntax, Anweisungen nur auszuführen, wenn eine Variable einen bestimmten Typ hat. Zum BeispielVerwenden von if Syntax in switch-Anweisung
class A {...}
class B: A {...}
class C: A {...}
func foo(thing: A) {
if let b = thing as? B {
// do something
}else if let c = thing as? C {
// do something else
}
}
Ist es möglich, dies mit einer Switch-Anweisung zu erreichen?
Ich habe so weit gekommen, aber die Variablen b und c A noch vom Typ, nicht zu B und C Stimmen:
func foo(thing: A) {
switch thing {
case let b where b is B:
// do something
case let c where c is C:
// do something else
default:
// do something else:
}
}
'wenn let b = Sache wie B' Eigentlich ist das nicht legal. – matt
Der richtige Weg, es zu tun ist, wenn b = Sache wie? B'. –
Danke, ich habe meine Frage aktualisiert – Okapi