/ /スイッチのUIButtonの現在のタイトルを確認するにはどうすればよいですか? - swift、uibutton、switch-statement

スイッチのUIButtonの現在のタイトルを確認するにはどうすればよいですか? - swift、uibutton、switch-statement

私は異なる状況でタイトルを変更するUIButtonを持っています。 ボタンを押すと、Swift Switch(および特定のコードが実行された)によって現在のTitleがチェックされます。

次のことは働いていません:

@IBAction func button(_ sender: UIButton) {
switch sender.currentTitle {
case "":
//Code
case "OK":
//Code
default:
}
}

Xcodeは「期待パターン」(第1の原因)と「期待表現」(第2の場合)

回答:

回答№1は1

ドキュメントごとに、 UIButton.currentTitle タイプは String?。 (オプションのString型)

きみの switch ステートメントは、オプションのタイプを非オプションのタイプと比較しているため、エラーが表示されます。

それをチェックする前に値をアンラッピングして最初に提案してください。 switch 次のように:

guard let title = sender.currentTitle() else { return }

switch title {
...
}

回答№2の場合は0

switch文のすべての場合には、1行のコードが必要です。あなたが使用できる何かをしたくないなら break

@IBAction func button(_ sender: UIButton) {
switch sender.currentTitle {
case "":
//Code
case "OK":
//Code
default:
break
}
}

回答№3の場合は-1

私は疑問符を付け加えて偶然問題を解決した

@IBAction func button(_ sender: UIButton) {
switch sender.currentTitle {
case ""?:
//Code
case "OK"?:
//Code
default:
break
}
}

私は理由を知ることはできませんが、それでも私を助けてくれてありがとうございます。