【问题标题】:how to add 2 textfields togethers as int (swift3)如何将 2 个文本字段一起添加为 int (swift 3)
【发布时间】:2018-01-20 11:58:47
【问题描述】:

我正在尝试将 2 个文本字段转换为整数,然后将它们加在一起。我还想在日志中打印总和。

let jake = t3.text! + t4.text!

【问题讨论】:

    标签: ios swift3 int uitextfield add


    【解决方案1】:

    Swift 中将文本转换为 Int 以及我们可以做的添加...

       //set before this condition Validation for Text field
        let sum = (Int(textFirst.text ?? "0")! + Int(textSecond.text ?? "0"))!
        print(sum) //Output here  
    

      //MARK: - Text Field Delegate Method for Input validation
      func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
      {
        let allowedCharacters = CharacterSet.decimalDigits
        let characterSet = CharacterSet(charactersIn: string)
        return allowedCharacters.isSuperset(of: characterSet)
      }
    

    【讨论】:

    • 如果用户输入的文本不是有效的Int,此代码将崩溃。
    • 我们需要设置输入validation只接受Int值。 @rmaddy
    【解决方案2】:

    试试这个:

        if let val1 = Int(t3.text!), let val2 = Int(t4.text!)
        {
            let sum = val1 + val2
            print(sum)
        }
    

    【讨论】:

    • 不要强制解包可选值。这会导致崩溃。
    • 插座连接正常就不会了。
    • 与网点无关。文本字段的 text 属性可以是 nil 并且您正在强制展开它们。
    • 当你访问一个textField的text属性时,如果textField为空,它总是会返回一个空字符串。
    • text 的属性 UITextField 被声明为 String?。在大多数情况下它可能是空字符串,但它可以nil,因为它是可选的。
    【解决方案3】:
    let t3Value: Int? = Int(t3.text!)
    let t4Value: Int? = Int(t4.text!)
    let final = t3Value! + t4Value!
    print("Sum \(final)")
    

    希望这会有所帮助!

    【讨论】:

    • 不要强制解包可选值。这会导致崩溃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多