我正在构建一个实践应用程序,以便在应用程序中添加用户输入。我有一些UITextfield的用户默认值,但是当我运行我的函数时,当我缺少输入时,它不工作,bc它不能将空的textfield识别为整数。我试图创建一个if语句,该语句if=“”然后返回INT(0)否则返回INT(用户默认值)。

@IBAction func saveButton(_ sender: Any) {
    UserDefaults.standard.set(hole1.text, forKey: "hole1enter")}

@IBAction func Total(_ sender: Any) {
     let h1:String = hole1.text! {
         if h1 == " " {
           print(0)
         } else {
             print(Int(h1))
         }
  }

我试过很多次,但我总是犯错误,我只是开始用斯威夫特。你们是否都有关于更好地理解字符串、文本、int或函数本身转换的文献?最后,我希望能够将所有用户默认输入的总和相加

最佳答案

并非所有的Strings都可以表示为Int,因此需要检查failableInt初始值设定项的返回值是否返回nil。您只需将默认值提供为0。
您可以安全地强制unwrapUITextFieldstext属性,因为它总是非零的。

@IBAction func total(_ sender: Any) {
    let intValue = Int(hole1.text!) ?? 0
    print(intValue)
}

您还应该遵循Swift命名约定,即函数名和变量名的小写(total)。

关于ios - 使用Uitextfield进行用户输入,尝试转换为int,如果不是int,则返回0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54560406/

10-12 00:16
查看更多