Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 应用程序总是向我显示第一个问题的答案_Ios_Swift - Fatal编程技术网

Ios 应用程序总是向我显示第一个问题的答案

Ios 应用程序总是向我显示第一个问题的答案,ios,swift,Ios,Swift,我做了一个计算器,可以转换测量单位。该应用程序总是向我显示第一个(公里)的答案,除非是整个答案。我希望你们中的一个会发现我的错误 class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { @IBOutlet var label: UILabel! @IBOutlet var Picker1: UIPickerView! @IBOutlet var num:

我做了一个计算器,可以转换测量单位。该应用程序总是向我显示第一个(公里)的答案,除非是整个答案。我希望你们中的一个会发现我的错误

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {

    @IBOutlet var label: UILabel!
    @IBOutlet var Picker1: UIPickerView!
    @IBOutlet var num: UITextField!
    var array1 = ["km","m","dm","mm"]
    var PlaceAnswer = 0
    var answer = Float()
        override func viewDidLoad() {
        super.viewDidLoad()
    }
     override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {      
       return array1[row]   
    }
            func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int{
        return array1.count
    }
     func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int{
        return 1
    } 
         @IBAction func Submit(sender: AnyObject) {
            if(PlaceAnswer==0){
                let numberFormatter = NSNumberFormatter()
                numberFormatter.numberStyle = .DecimalStyle
                let number = numberFormatter.numberFromString(num.text!)
                answer = number!.floatValue
                  answer = answer * 0.0001
                label.text = ("\(answer)"+"km")
                answer = 0
        }
        else if(PlaceAnswer==1)
        {
            let numberFormatter = NSNumberFormatter()
            numberFormatter.numberStyle = .DecimalStyle
            let number = numberFormatter.numberFromString(num.text!)
            answer = number!.floatValue
            answer = answer * 100
            label.text = ("\(answer)" + "m")
            answer = 0
        }
        else if(PlaceAnswer==2)
        {
            let numberFormatter = NSNumberFormatter()
            numberFormatter.numberStyle = .DecimalStyle
            let number = numberFormatter.numberFromString(num.text!)

            answer = number!.floatValue
            answer = answer * 10
            label.text = ("\(answer)" + "dm")
            answer = 0
        }
        else
        {
            let numberFormatter = NSNumberFormatter()
            numberFormatter.numberStyle = .DecimalStyle
            let number = numberFormatter.numberFromString(num.text!)
            answer = number!.floatValue
            answer = answer / 10
            label.text = ("\(answer)"+"mm")
            answer = 0
        }
    }            
}

因为
PlaceAnswer
的值在代码中的任何地方都不会更改

使用此选项设置您的值

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int){
         PlaceAnswer = row
}

PlaceAnswer始终为0