2016-12-30 9 views
0

私はインターネット全体を検索しましたが、Swift 2または古いXcodeバージョンのソリューションしか見つかりませんでした。/ また、XcodeとSwiftにはとても新しいそれを許してください。Xcode 8とSwift 3でUITextFieldを整数に変換して計算する

いくつかのUITextFieldにいくつかの数字を入力して、結果をUILabelに表示する「計算」ボタンを押してもらいたいと思います。

私がこれまでテストした何

Convert input data to Integer in Swift

Swift calculate value of UITextFields and return value

だから私のコードでは、これまでのところ、本当に貧しい人々に見えます。あなたはドラッグすることによって、あなたのボタンのIBActionを作成するために必要なすべての

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

まず:何も私が持っているすべてのthatsとコメントは、私はそれになりたい方法を示して働いていませんストーリーボードから。私はそれが問題ではないと思う。

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

私はすべての検証をスキップしますが、幸せなパスのためにそれは

+0

ありがとう、それはトリックです!検証は数字キーボードを入力として行います。 10進数を入力する方法はありますか? 50.02のように? – Lupo

+0

しかし、あなたはInt(string)の代わりにFloat(string)メソッドを使う必要があります。ストーリーボードのTextFieldのキーボードタイプをDecimalPadに変更します。 –

+0

こちらもお試しください。ありがとうございます=) – Lupo

0

がアクション以下に、あなたの計算]ボタンを接続して動作するはずです。

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

これも機能します。ありがとう=) – Lupo

関連する問題