2017-07-23 103 views
-2

我對Swift非常陌生,並且遇到將字符串(在文本字段中輸入)轉換爲整數的問題。將字符串值從文本字段轉換爲整數

我正在嘗試創建一個小型計算應用程序(我在YouTube上學習了一個教程,但它很舊)。

我的應用程序有3個文本字段,一個標籤(用於顯示結果)和一個用於開始計算的按鈕。

下面的代碼:

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var valueA: UITextField! 
    @IBOutlet weak var valueB: UITextField! 
    @IBOutlet weak var valueC: UITextField! 
    @IBOutlet weak var result: UILabel! 

    @IBAction func calculateTotal(_ sender: Any) { 
     var a:Int? = Int(valueA.text) 
     var b:Int? = Int(valueB.text) 
     var c:Int? = Int(valueC.text) 
     var answer = a! * b! * c! 
    } 
} 
+0

你需要[編輯]你的問題清楚地描述了你發佈的代碼所需的幫助。 – rmaddy

+1

可能重複[Swift - 將字符串轉換爲Int](https://stackoverflow.com/questions/24115141/swift-converting-string-to-int) – ninjaproger

+0

錯誤是什麼?你應該提到,如果你需要得到任何幫助。 – adev

回答

-1

試試這個(崩潰免費的代碼,你可以添加n數文本框/字符串值作爲數字字符串):

var arrayOfTextFieldValues = [valueA.text, valueB.text, valueC.text] 

@IBAction func calculateTotal(_ sender: Any) { 
     if let multiplication = multiplication(arrayString: arrayOfTextFieldValues) { 
      print("Answer = \(multiplication)") 
      result.text = "\(multiplication)" 
     } 
} 


// handle operations 
func multiplication(arrayString: [String?]) -> Int? { 

    var answer:Int? 
    for arrayElement in arrayString { 
     if let stringValue = arrayElement, let intValue = Int(stringValue) { 
      answer = (answer ?? 1) * intValue 
     } 
    } 

    return answer 
} 
+0

這甚至不會編譯。 – rmaddy

+0

@rmaddy感謝您的評論。更新了答案。 – Krunal