変数は2つありますが、1つのみがオプションです。のは、パターンマッチングながらb
のラップを解除する方法Swiftでオプションのwhileパターンマッチングをアンラッピングする方法は?
lazy var a: UIAlertView = {
return UIAlertView() // Which is not important here
}()
var b: UIAlertView?
とデリゲートメソッド
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
}
}
をしましょうか?
注意:質問はSwift language
についてではなく、UIAlertView
についてです。
助けが必要ですか?
可能な重複:// stackoverflow.com/questions/26941529/swift-testing-against-optional-value-in-switch-case –
@MartinRいいえ、私の質問はあなたが言及した質問の正反対です。 – Goppinath
私はそうは思わない。その*質問*は、オプションでない 'someValue'とオプションの' someOptional'を照合する方法です。これはあなたが求めているものです。受け入れられた答えの最初の提案は、それ以外の方法で行いますが、2番目の提案 'case let val where val == someOptional:'はあなたのケースでもうまくいきます(Callamの提案と同様です)。 –