Я пытаюсь сделать простое приложение в Xcode, которое будет вычислять цифры Pi до определенной цифры (т.е. 100-й цифры) и показывать время, необходимое для этого. Первый шаг, с которым я сталкиваюсь, заключается в том, что я хочу иметь TextField, который принимает только целочисленное значение, и когда это условие выполнено, тогда кнопка «запустить» программу будет активирована. Для всех других условий я хотел бы, чтобы выдавалось сообщение об ошибке: «Для продолжения необходимо ввести целочисленное значение». но мне трудно понять, почему это так.
Я последовал совету из этого поток, но я продолжаю получать сообщение об ошибке: «Поток 1: Неустранимая ошибка: неожиданно найдено nil при неявном развертывании необязательного значения» со всеми указанными параметрами.
Единственное, что мне нужно было скомпилировать, - это предложение, сделанное @Naishta, все остальные дали мне ту ошибку, о которой я упоминал ранее. Вот мой код, который я могу скомпилировать:
@IBOutlet weak var FirstBox: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
//FirstBox.delegate = self
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let _ = Int(string) else {
button.isEnabled = false
enum MyError: Error {
case runtimeError(String)
}
return false
}
button.isEnabled = true
return true
}
и переход, который я использую для перехода на следующую страницу, является стандартным:
@IBAction func StartCalc(_ sender: Any) {
self.performSegue(withIdentifier: "CalcSegue", sender: self)
}
Я ожидаю увидеть, что когда пишется что-либо, кроме целого числа, кнопка не может перейти на следующую страницу и выдает ошибку.