I am having issue with this code, learning swift and I cannot understand why.
What I want to do is user enter on two TextField two numbers, click a Button, and then get the result on Label.
I know TextField don't allow Int, but only string and I know there is method to convert string to Int, but it is not working for me.
Here is the code:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var firstNumber: UITextField!
@IBOutlet weak var secondNumber: UITextField!
@IBOutlet weak var resultButton: UIButton!
@IBOutlet weak var resultNumber: UILabel!
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.
}
var firstNumberConv :Int? = Int(firstNumber.text)
var secondNumberConv :Int? = Int(secondNumber.text)
var result = firstNumberConv + secondNumberConv
@IBAction func resultFunction(_ sender: AnyObject) {
resultNumber.text = result
}
}
why don´t put your code inside of your action
something like this
@IBAction func resultFunction(_ sender: AnyObject) {
let firstNumberConv :Int? = Int(firstNumber.text!)
let secondNumberConv :Int? = Int(secondNumber.text!)
guard firstNumberConv != nil && secondNumberConv != nil else {
return
}
let result = firstNumberConv! + secondNumberConv!
resultNumber.text = String(result)
}
I hope this helps you