【发布时间】:2020-12-06 00:23:06
【问题描述】:
我有一个接受数字的文本字段。
当在数字键盘区域外点击以关闭键盘时,它会将文本字段值传递给函数。
当文本字段为空时,我收到 NIL unpacked optional 错误并崩溃。
当文本字段中没有任何内容时,我正在尝试找到一种将“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 IS类型int。????
【问题讨论】:
-
任何时候你的代码说
!你应该预期崩溃。尽量避免它。几乎不需要它。 -
也不要在问题中输入您的“代码”。复制并粘贴真实代码。像
@IBOUTLET这样的废话是不必要的。 -
不确定我是否关注你。当我在其他任何地方看到屏幕截图时,建议人们剪切和粘贴,这就是我所做的。
-
不,你没有,因为没有
@IBOUTLET这样的东西。如果你这么说,你的代码永远不会编译。您会收到错误消息“未知属性 'IBOUTLET'”。
标签: swift optional conditional-operator