ios - 如何检查用户输入的答案是否有字母,如果有,您如何将该答案默认为 0?

标签 ios swift

这是我到目前为止的代码,现在当用户输入任何字母时,我的标签什么都不显示,我想弄清楚的是如何将什么都没有“”变成 0。我尝试做一个 if 语句在我的“label.txt =”上,但没有成功。找到我想要的结果的更好方法是什么?

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var game1: UITextField!
    @IBOutlet weak var game2: UITextField!
    @IBOutlet weak var game3: UITextField!

    @IBOutlet weak var series: UILabel!
    @IBOutlet weak var average: UILabel!
    @IBOutlet weak var high: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

    }

    @IBAction func calculate(_ sender: Any) {
        self.view.endEditing(true)

        guard
                let text1 = game1.text,
                let text2 = game2.text,
                let text3 = game3.text
        else { return }

        guard
                let game1Results = Int(text1),
                let game2Results = Int(text2),
                let game3Results = Int(text3)
        else { return }

        let gameResultsArray = [game1Results, game2Results, game3Results]
        let sumArray = gameResultsArray.reduce(0, +)
        let positiveArray = gameResultsArray.filter {
            (item: Int) -> Bool in return item > 0
        }

        var avgArrayValue = 0

        if positiveArray.count == 0
        {
            avgArrayValue = 0
        }else {
            avgArrayValue = sumArray / positiveArray.count
        }

        series.text = "\(sumArray)"
        average.text = "\(avgArrayValue)"
        if let maximumVal = gameResultsArray.max() {
        high.text = String(maximumVal)
        }
    }
}

最佳答案

这是您需要的,将 String 转换为 Int 并提供默认值 0。不要使用 guard let return 使用此方法:

取而代之的是:

guard let game1Results = Int(text1) else { return }

使用这个:

let game1Results = Int(text1) ?? 0

关于ios - 如何检查用户输入的答案是否有字母,如果有,您如何将该答案默认为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61979649/

相关文章:

swift - 使用 Decodable 的 Realm 快速列表

ios - 如何在 iOS Swift 3 中以编程方式推送和呈现给 UIViewController 而无需 segue

ios - Swift 中的 Unicode 和带圆圈的数字

ios - iOS6 后的 map View 中的指南针放置或位置

ios - 处理 iOS TextView 中的按钮

ios - 包月申请

ios - Swift 3 - 从共享扩展到主应用程序共享 URL 和标题?

ios - 在 iOS 版谷歌地图上的自定义标记上添加文本

ios - 如何更改 Objective-C 中的 CBAdvertisementDataLocalNameKey 值?

swift - 为什么我的完成处理程序不能与我的 URLSession 一起工作?