Ich versuche ohne Erfolg, mehrere Optionen über Tupel auszupacken und zu werfen. Das seltsame ist, dass das Auspacken einzelner Elemente funktioniert. Es wurde vorgeschlagen, dass ich die downcast as?
operator, missbrauche und das ist sehr wahrscheinlich, aber ich kann es einfach nicht sehen.typecasting Tupel in swift
Kann jemand erklären, warum das nicht funktioniert?
class fooba { }
func unwrapPair(a: AnyObject?, _ b:AnyObject?) {
if let a = a as? fooba {
// true
}
if let b = b as? fooba {
// true
}
if let (a, b) = (a, b) as? (fooba, fooba) {
// false!?!?
}
}
unwrapPair(fooba(), fooba())
ich nicht denken dies ein Duplikat tuple "upcasting" ist, weil nicht ich einziehe? Auf jeden Fall wäre die Erklärung, wie genau sie sind, leuchtend und eine Antwort für sich. wenn-let Kombinationen
Mögliches Duplikat von [Tuple "upcasting" in Swift] (http://stackoverflow.com/questions/31270507/tuple-upcasting-in-swift) –