/ / Ako môžem skontrolovať aktuálny názov UIButtonu v prepínači? - rýchly, uibutton, switch-statement

Ako môžem skontrolovať aktuálny názov UIButtonu v prepínači? - rýchly, uibutton, switch-statement

Mám UIButton, ktorý mení názov v rôznych situáciách. Ak stlačíte tlačidlo, aktuálnyTitle by sa mal skontrolovať pomocou prepínača Swift (a niektorých vykonaných kódov).

Nasledujúce nie je funkčné:

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

Xcode zobrazuje iba "Očakávaný vzor" (prvá príčina) a "Očakávaný výraz" (2. prípad)

odpovede:

1 pre odpoveď č. 1

podľa dokumentácie, UIButton.currentTitle je typu String?, (voliteľný typ reťazca)

tvoj switch príkaz porovnáva voliteľný typ s nepovinným typom, čo je dôvod, prečo vidíte chyby.

Navrhnite prvú rozbaľovaciu hodnotu skôr, ako ju skontrolujete s hodnotou a switch Páči sa mi to:

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

switch title {
...
}

0 pre odpoveď č. 2

Každý prípad v prepínači musí mať riadok kódu. Ak nechcete robiť čokoľvek, čo môžete použiť break:

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

-1 pre odpoveď č. 3

Problém som náhodou vyriešil pridaním otázok

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

Neviem prečo, ale aj napriek tomu vďaka za to, že mi pomohla.