在 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 2.3 从 xcode 8 中的命令行运行 xcode ui 测试