ios - 使用 Uitextfield 进行用户输入,尝试转换为 int,如果不是 int 则返回 0

标签 ios swift uitextfield

我正在构建一个练习应用程序以在应用程序中添加用户输入。我有一些来自 UITextfield 的用户默认值,但是当我运行我的函数时,当我缺少输入时它不起作用,因为它不会将空文本字段识别为整数。我正在尝试创建一个 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))
         }
  }

我已经尝试了很多次,但我总是出错,我才刚刚开始使用 swift。你们是否都有关于更好地理解转换字符串、文本、整数或函数本身的好文献?最后,我希望能够将所有用户默认输入的总数相加

最佳答案

不是所有的 String 都可以表示为 Int,因此您需要检查可失败的 Int 初始化器的返回值是否返回nil 与否。您可以简单地提供默认值 0。

您可以安全地强制展开 UITextFieldtext 属性,因为它被记录为始终非零。

@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/

相关文章:

ios - UIAutomation 在 iOS 6 中工作,但在 iOS 7 中不起作用 (UIATarget.setLocationWithOptions)

swift - watchOS 3 getSupportedTimeTravelDirections

ios - 有没有办法在您输入时更改文本字段内文本的颜色?

ios - 无法运行 iOS 代码

ios - 获取在 VNDetectTextRectanglesRequest 完成处理程序上的 VNImageRequestHandler 中使用的 cvPixelBuffer

ios - navigationItem 总是变成 nil

ios - 代码签名从终端为 cordova 构建失败 - xcode8

ios - SplitView - 根据快速更改的详细信息在主 tableView 中重新加载数据

ios - 在 UIButton 中添加右 View

iphone - 表格 View 中的两个文本字段都在 ScrollView 上,当键盘出现时消失 iPhone