【发布时间】:2016-06-23 01:59:35
【问题描述】:
我的应用中有一个与按钮交互的文本字段。当我在文本字段中输入任何内容时,我的应用程序崩溃。为了解决这个问题,我尝试了以下方法:
if textField.text!.isEmpty {
iLabel.text = "Please type something"
}
但是,这不起作用。有人可以指出我的缺陷以及如何解决这个问题吗?
【问题讨论】:
我的应用中有一个与按钮交互的文本字段。当我在文本字段中输入任何内容时,我的应用程序崩溃。为了解决这个问题,我尝试了以下方法:
if textField.text!.isEmpty {
iLabel.text = "Please type something"
}
但是,这不起作用。有人可以指出我的缺陷以及如何解决这个问题吗?
【问题讨论】:
代码看起来不错,但是您确定您的文本字段与代码中的插座映射。即使代码没有问题,缺少出口映射也是导致应用程序崩溃的主要原因。
在这种情况下,您将通过 textfield.text! 强制打开 textField,如果缺少到插座的映射,则会导致应用程序崩溃。
【讨论】:
它崩溃了,因为 textField.text 是 nil 所以你不能调用 isEmpty 。只需检查
if textField.text == nil {
//textField is empty
}
【讨论】:
当文本为 nil 时,此代码总是会触发运行时错误。
请按照此处理可选。
【讨论】: