在整个程序中直接从UITextField获取值或分配给变量

时间:2016-11-21 13:48:05

标签: ios swift iosdeployment

下面的代码(或三者中没有一个)被视为最佳实践,案例1,2或3?

让我们假装您正在创建一个小费计算器,并且您的计算将基于两个textFields的值,您将如何管理您的计算,直接从textFields访问值需要或将值赋给变量并在整个程序中使用变量?

案例1 将textField中的值分配给变量,并在整个程序中使用变量。

class ViewController{
    var price:Double = 0
    var percentage:Double = 0

    func validateInputData(){
        if priceField.text != ""{
            price = Double(priceField.text!)!
        }
        if percentageField.text != ""{
            percentage =  Double(percentageField.text!)!
        }
    }

    func calculate(){
        validateInputData()
        var tip = price * percentage / 100
        print("Tip amount: \(tip)")
    }
}

案例2 根据需要直接从textFields访问值。

class ViewController{
    func validateInputData(){
        if priceField.text == ""{
             priceField.text = "0"
        }
        if percentageField.text == ""{
            percentageField.text =  "0"
        }
    }

    func calculate(){
        validateInputData()
        var tip = Double(priceField.text!)! * Double(percentageField.text!)! / 100
        print("Tip amount: \(tip)")
    }
}

OR可能是案例3

案例3 每次字段更改时,都会将textField中的值分配给变量,并在整个程序中使用变量。

   class ViewController{
    var price:Double = 0
    var percentage:Double = 0

    @IBAction func OnEditingChanged(sender: AnyObject){
        if sender == priceField &&  priceField.text != ""{
            price = Double(priceField.text!)!
        }
        if sender == percentageField &&  percentageField.text != ""{
            percentage = Double(percentageFieldField.text!)!
        }        
    }
    func calculate(){
        var tip = price * percentage / 100
        print("Tip amount: \(tip)")
    }
}

我知道这是一个非常简单的例子,但是假设应用程序会增长,并且会比计算提示数量更多。

0 个答案:

没有答案