Я пытаюсь получить информацию о UITextField, а затем повторно использовать эти данные из UITextField с быстрым 2.0 и Xcode 7. Но каждый раз, когда я запускаю приложение, приложение выходит из строя и говорит:UITextField всегда приводит к нулю
fatal error: unexpectedly found nil while unwrapping an Optional value
, хотя в текстовом поле есть что-то. Кто-то знает, как решить эту проблему?
Это как мой код выглядит:
@IBOutlet weak var entryAmount: UITextField! //TextField declaration
@IBAction func saveNewButtonTapped(sender: UIBarButtonItem) {
//update overall amount
let amount: String? = self.entryAmount.text! //Throws the error at this point
self.viewController.currentValue += amount
}
В другой функции, я написал то же самое («пусть количество: String = entryAmount.text!»), И когда я напечатал «количество», он показал правильный результат. Но как только я попытался использовать его дальше, «сумма» всегда была нулевой, даже жесткой она всегда печатала правильный результат в начале.
Я сталкиваюсь с тем же, что и с DatePicker, переключает и обновляет тексты кнопок.
Кто-то знает что-то, что может мне помочь? - Спасибо
Btw Я довольно новый для быстрого и Xcode.
Обновление: Не может быть, потому что TextField находится в ContainerView?
Обновление 2: Я почти уверен, что проблема связана с ContainerView. Я попробовал TextField, который не находится в контейнере и не получил ошибку, он работал отлично.
Попробуйте отладить команду 'po'. Когда он выбрасывает, введите 'po self.entryAmount', чтобы проверить, нет ли он. Или 'po self.entryAmout.text', чтобы проверить, является ли' text' нулем. – t4nhpt
Я пробовал это, и оба они ноль. '(Lldb) ро self.entryAmount неисправимая ошибка: неожиданно обнаружил ноль в то время разворачивания необязательного значения фатальной ошибки: неожиданно обнаружил ноль в то время разворачивания необязательного значения ноля (lldb) ро self.entryAmount.text неисправимой ошибка: неожиданно найдено nil при развертывании необязательного значения Ошибка: Выполнение было прервано, причина: EXC_BAD_INSTRUCTION (код = EXC_I386_INVOP, subcode = 0x0). Процесс был возвращен в состояние перед оценкой выражения. ' –