Es gibt zwei UIAlertView
Variablen, aber nur eine ist optional. Lassen Sie uns sagenWie entfaltet man ein optionales While Pattern Matching in Swift?
lazy var a: UIAlertView = {
return UIAlertView() // Which is not important here
}()
var b: UIAlertView?
und die delegierte Methode
func alertView(alertView: SPAlertView!, clickedButtonAtIndex buttonIndex: Int) {
switch (alertView, buttonIndex) {
case (a, 0): // Do something
case (a, 1): // Do something
case (b, 1): // <== Want to do something here but, b is optional.
default: break
}
}
Wie b
während Mustervergleich auszupacken?
NB: Die Fragen sind über die Swift language
nicht über die UIAlertView
.
Irgendwelche Hilfe?
Mögliche Duplikat http: // stackoverflow.com/questions/26941529/swift-testing-against-optional-value-in-switch-case. –
@MartinR Nein, meine Frage ist genau das Gegenteil der Frage, die du erwähnt hast. – Goppinath
Ich glaube nicht. Diese * Frage * ist, wie man den nicht-optionalen 'someValue' mit dem optionalen' someOptional' abgleicht und genau das ist es, was Sie fragen. Der erste Vorschlag in der angenommenen Antwort macht es umgekehrt, aber der zweite Vorschlag 'case let val wobei val == someOptional:' würde auch in Ihrem Fall funktionieren (und ist ähnlich dem, was Callam unten vorgeschlagen hat). –