在将文本字段传递给函数之前,如何测试它是否为空:
How do you test a textField isn’t empty before passing it to a function:
我有一个接受数字的文本框。
在数字键盘区域外点击以关闭键盘时,它会将文本字段值传递给函数。
当文本字段为空时,出现 NIL 解压可选错误,它崩溃了。
我正在尝试找到一种方法,当文本字段中没有任何内容时将“0”传递给变量。
变量
@IBOUTLET weak var per1kCollector: UITextField?
var per1k = 0
关闭键盘并调用函数的处理程序
per1k 获取文本域
如果 collector.text 为 NIL
,per1k 需要一个 0
@objc func handleTap(_ recognizer: UITapGestureRecognizer) {
print("closing number pad")
view.endEditing(true)
per1k = (Int(per1kCollector!.text!)! ?? 0)
doSomeMath()
}
这一直在声明“无法将类型 'int' 的值转换为预期的参数类型 'string'。但是,我正在使用文本字段的 Int,并且 per1k 是 int 类型。?? ??
任何时候你的代码说 !
你应该 预期 崩溃。尽量避免它。几乎不需要它。在这种情况下只需使用问号:
per1k = Int(per1kCollector?.text ?? "0") ?? 0
我有一个接受数字的文本框。
在数字键盘区域外点击以关闭键盘时,它会将文本字段值传递给函数。
当文本字段为空时,出现 NIL 解压可选错误,它崩溃了。
我正在尝试找到一种方法,当文本字段中没有任何内容时将“0”传递给变量。
变量
@IBOUTLET weak var per1kCollector: UITextField?
var per1k = 0
关闭键盘并调用函数的处理程序 per1k 获取文本域 如果 collector.text 为 NIL
,per1k 需要一个 0@objc func handleTap(_ recognizer: UITapGestureRecognizer) {
print("closing number pad")
view.endEditing(true)
per1k = (Int(per1kCollector!.text!)! ?? 0)
doSomeMath()
}
这一直在声明“无法将类型 'int' 的值转换为预期的参数类型 'string'。但是,我正在使用文本字段的 Int,并且 per1k 是 int 类型。?? ??
任何时候你的代码说 !
你应该 预期 崩溃。尽量避免它。几乎不需要它。在这种情况下只需使用问号:
per1k = Int(per1kCollector?.text ?? "0") ?? 0