在 Xcode 8 和 Swift 3 中将 UITextField 转换为 Integer 并使用它们进行计算

Posted

技术标签:

【中文标题】在 Xcode 8 和 Swift 3 中将 UITextField 转换为 Integer 并使用它们进行计算【英文标题】:Convert UITextField to Integer in Xcode 8 and Swift 3 and calculate with them 【发布时间】:2016-12-30 11:07:24 【问题描述】:

我搜索了整个互联网,但只找到了 Swift 2 或过时的 Xcode 版本的解决方案,这对我没有帮助:/ 我对 Xcode 和 Swift 也很陌生,所以请原谅。

我希望用户在几个 UITextField 中输入一些数字,然后按“计算”按钮,该按钮在 UILabel 中显示结果。

到目前为止我测试的内容:

Convert input data to Integer in Swift

Swift calculate value of UITextFields and return value

所以到目前为止,我的代码看起来很糟糕。没有任何效果,所以这就是我所拥有的一切,评论显示了我想要的效果:

import UIKit

class ViewController: UIViewController 

    //elements from the viewcontroller
    @IBOutlet weak var input1: UITextField!
    @IBOutlet weak var input2: UITextField!
    @IBOutlet weak var calculate: UIButton!
    @IBOutlet weak var output: UILabel!

    //calculation
    //Just simple math like
    //output = input1 + input2
    //or output = (input1 + 50) + input2






    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    



感谢您帮助我 =)

【问题讨论】:

【参考方案1】:

首先,您需要通过从 Storyboard 中拖动来为您的按钮创建一个 IBAction。我认为这不是问题。

//imagine this is your IBAction function on calculate click
@IBAction func calculate(_ sender: UIView) 
  output.text = String(Int(input1.text!)! + Int(input2.text!)!)

我跳过了所有验证,但是对于快乐的路径它应该可以工作

【讨论】:

谢谢你,成功了!通过选择数字键盘作为输入来完成验证。有没有办法输入十进制数字?喜欢 50.02? 是的,但是您需要使用 Float(string) 方法而不是 Int(string)。并在情节提要中将 TextField 的键盘类型更改为 DecimalPad。 当我输入 25..00 时呢?【参考方案2】:

将您的计算按钮连接到以下操作。

@IBAction func calculate(sender: Any) 
    let result = Int(input1.text!) + Int(input2.text!)
    output.text = "\(result)"

【讨论】:

以上是关于在 Xcode 8 和 Swift 3 中将 UITextField 转换为 Integer 并使用它们进行计算的主要内容,如果未能解决你的问题,请参考以下文章

在 swift 3 xcode 8 中出现错误

使用 swift 2.3 从 xcode 8 中的命令行运行 xcode ui 测试

swift 3 Xcode 8 中的 NSManagedObject 和 CoreData

xcode 8.3.3 是不是运行 swift 3.2

错误的指令错误 Swift 3 和 XCode 8

现有的领域数据库不能在 swift 3.1 xcode 8 中工作