Я бы изменил вашу функцию на это ... (Я также изменил некоторые имена переменных, так как они в настоящее время немного сбивают с толку)
@IBAction func getresults(_ sender: Any) {
if let inputText = input.text, // 1
let inputHex = Int(inputText, radix: 16) { // 2
let binary = String(inputHex, radix: 2) // 3
mylabel.text = "The Hexadecimal of \(inputText) conversion is: \(binary)"
}else{
mylabel.text = "Wrong input"
}
}
проверьте, что вход не ноль.
преобразовать ввод в шестнадцатеричный Int.
Если произойдет сбой любого из вышеперечисленных, отобразите «Неверный ввод».
- Преобразование шестнадцатеричного int в двоичное.
Затем отобразите двоичный файл.
Использование принудительной распаковки !
не рекомендуется, так как это приведет к аварийному завершению работы вашего приложения, если установлено значение nil
. Использование if let
(необязательное связывание) - это способ проверить, имеет ли оно значение nil, и вместо этого связать значение с необязательной переменной.