2017-07-23 189 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