Ios 将值从开关函数发送到UILabel

Ios 将值从开关函数发送到UILabel,ios,swift,xcode,switch-statement,uilabel,Ios,Swift,Xcode,Switch Statement,Uilabel,制作了一个开关函数,有12个不同的案例,每个案例有两个变量。然而,我不能在任何情况下工作。我需要listPriceTextField的值来遍历switch函数中列出的等式,然后我需要将该值传递给我的takebackLabel。将代码缩减到第一个场景以保持简单。这里可能有些东西我写错了,我试图把同一主题的不同YouTube视频的信息拼凑在一起 导入UIKit class ViewControllerTakeback:UIViewController、UIPickerViewDelegate、UIP

制作了一个开关函数,有12个不同的案例,每个案例有两个变量。然而,我不能在任何情况下工作。我需要listPriceTextField的值来遍历switch函数中列出的等式,然后我需要将该值传递给我的takebackLabel。将代码缩减到第一个场景以保持简单。这里可能有些东西我写错了,我试图把同一主题的不同YouTube视频的信息拼凑在一起

导入UIKit

class ViewControllerTakeback:UIViewController、UIPickerViewDelegate、UIPickerViewDataSource、uiextfielddelegate{

var currentTextField = UITextField()
var pickerView = UIPickerView()
var levelTextField = UITextField()
var levelPickerView = UIPickerView()

var PlatformType:[String] = []
var Platform2Type:[String] = []
var PLevel:[String] = []
var PLevel2: [String] = []


//picker & text fields
@IBOutlet weak var platformTextField: UITextField!
@IBOutlet weak var platformTextField2: UITextField!
@IBOutlet weak var pLevelTextField: UITextField!
@IBOutlet weak var pLevel2TextField: UITextField!
@IBOutlet weak var takebackLabel: UILabel!
@IBOutlet weak var retailTextField: UITextField!
@IBOutlet weak var listPriceTextField: UITextField!
@IBOutlet weak var listPriceTextField2: UITextField!
@IBOutlet weak var takebackLabel2: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
//通过pickerView获取platformTextField和platformTextField2的数据
PlatformType=[“斯托克斯”、“山羊”、“体育场商品”、“飞行俱乐部”、“颗粒状”、“贝宝”]
Platform2Type=[“斯托克斯”、“山羊”、“体育场商品”、“飞行俱乐部”、“颗粒状”、“贝宝”]

//通过pickerView获取pLevelTextField和pLevel2TextField的数据
PLevel=[“1”、“2”、“3”、“4”、“国内”、“国际”、“发票”]
PLevel2=[“1”、“2”、“3”、“4”、“国内”、“国际”、“发票”]

guard let platformTextField=platformTextField.text else{return}
guard let pLevelTextField=pLevelTextField.text else{return}
guard let listPriceTextField=Double(listPriceTextField.text!)else{return}

    switch (platformTextField,pLevelTextField) {

        case (a, aa):
        if TB1 == Double(listPriceTextField) * (1 - 0.125) {
               return takebackLabel.text = "\(TB1)" }
            else {return}

         case (a, bb):
                if TB2 == Double(listPriceTextField) * (1 - 0.12) {
                   self.takebackLabel.text! = "\(TB2)" }
                else {return}

         case (a, cc):
                if TB3 == Double(listPriceTextField) * (1 - 0.115) {
                   self.takebackLabel.text! = "\(TB3)" }
                else {return}

         case (a, dd):
                if TB4 == Double(listPriceTextField) * (1 - 0.11) {
                   self.takebackLabel.text! = "\(TB4)" }
                else {return}

         case (b, aa):
                if TB5 == Double((listPriceTextField * (1 - 0.095) - 5) * 1 - 0.029) {
                   takebackLabel.text! = "\(TB5)" }
                else {return}

         case (b, bb):
                if TB6 == Double((listPriceTextField * (1 - 0.15) - 5) * 1 - 0.029) {
                    self.takebackLabel.text! = "\(TB6)" }
                else {return}

         case (b, cc):
                if TB7 == Double((listPriceTextField * (1 - 0.2) - 5) * 1 - 0.029) {
                    self.takebackLabel.text! = "\(TB7)" }
                else {return}

         case (c, aa):
                if TB8 == Double(listPriceTextField * (1 - 0.2)) {
                    self.takebackLabel.text! = "\(TB8)" }
                else {return}

         case (d, aa):
                if TB9 == Double(listPriceTextField * (1 - 0.2)) {
                    self.takebackLabel.text! = "\(TB9)" }
                else {return}

        case (e, ee):
                if TB10 == Double((listPriceTextField * (1 - 0.089)) - 0.3) {
                    self.takebackLabel.text! = "\(TB10)" }
                else {return}
        case (e, ff):
            if TB11 == Double((listPriceTextField * (1 - 0.104)) - 0.3) {
                self.takebackLabel.text! = "\(TB11)" }
            else {return}

         case (f, gg):
            if TB12 == Double(listPriceTextField * (1 - 0.029)) {
                self.takebackLabel.text! = "\(TB12)" }
            else {return}

         default:
            print("Enter Item Info")
         }
    switch (platformTextField2,pLevel2TextField) {

         case (a, aa):
                if TB2_1 == Double(listPriceTextField2) * (1 - 0.125) {
                   takebackLabel2.text! = "\(TB2_1)" }
                else {return}

         case (a, bb):
                if TB2_2 == Double(listPriceTextField2) * (1 - 0.12) {
                  takebackLabel2.text! = "\(TB2_2)" }
                else {return}

         case (a, cc):
                if TB2_3 == Double(listPriceTextField2) * (1 - 0.115) {
                  takebackLabel2.text! = "\(TB2_3)" }
                else {return}

         case (a, dd):
                if TB2_4 == Double(listPriceTextField2) * (1 - 0.11) {
                  takebackLabel2.text! = "\(TB2_4)" }
                else {return}

         case (b, aa):
                if TB2_5 == Double((listPriceTextField2 * (1 - 0.095) - 5) * 1 - 0.029) {
                   takebackLabel2.text! = "\(TB2_5)" }
                else {return}

         case (b, bb):
                if TB2_6 == Double((listPriceTextField2 * (1 - 0.15) - 5) * 1 - 0.029) {
                    self.takebackLabel2.text! = "\(TB2_6)" }
                else {return}

         case (b, cc):
                if TB2_7 == Double((listPriceTextField2 * (1 - 0.2) - 5) * 1 - 0.029) {
                    self.takebackLabel2.text! = "\(TB2_7)" }
                else {return}

         case (c, aa):
                if TB2_8 == Double(listPriceTextField2 * (1 - 0.2)) {
                    self.takebackLabel2.text! = "\(TB2_8)" }
                else {return}

         case (d, aa):
                if TB9 == Double(listPriceTextField * (1 - 0.2)) {
                    self.takebackLabel.text! = "\(TB2_9)" }
                else {return}

        case (e, ee):
                if TB10 == Double((listPriceTextField * (1 - 0.089)) - 0.3) {
                    self.takebackLabel.text! = "\(TB2_10)" }
                else {return}
        case (e, ff):
            if TB2_11 == Double((listPriceTextField2 * (1 - 0.104)) - 0.3) {
                return takebackLabel2.text! = "\(TB2_11)" }
            else {return}

         case (f, gg):
            if TB2_12 == Double(listPriceTextField2 * (1 - 0.029)) {
                takebackLabel.text! = "\(TB2_12)" }
            else {return}

         default:
            print("Enter Item Info")
         }
        }
guard let platformTextField2=platformTextField2.text else{return}
guard let pLevel2TextField=pLevel2TextField.text else{return}
guard让listPriceTextField2=Double(listPriceTextField2.text!)否则{return}

    switch (platformTextField,pLevelTextField) {

        case (a, aa):
        if TB1 == Double(listPriceTextField) * (1 - 0.125) {
               return takebackLabel.text = "\(TB1)" }
            else {return}

         case (a, bb):
                if TB2 == Double(listPriceTextField) * (1 - 0.12) {
                   self.takebackLabel.text! = "\(TB2)" }
                else {return}

         case (a, cc):
                if TB3 == Double(listPriceTextField) * (1 - 0.115) {
                   self.takebackLabel.text! = "\(TB3)" }
                else {return}

         case (a, dd):
                if TB4 == Double(listPriceTextField) * (1 - 0.11) {
                   self.takebackLabel.text! = "\(TB4)" }
                else {return}

         case (b, aa):
                if TB5 == Double((listPriceTextField * (1 - 0.095) - 5) * 1 - 0.029) {
                   takebackLabel.text! = "\(TB5)" }
                else {return}

         case (b, bb):
                if TB6 == Double((listPriceTextField * (1 - 0.15) - 5) * 1 - 0.029) {
                    self.takebackLabel.text! = "\(TB6)" }
                else {return}

         case (b, cc):
                if TB7 == Double((listPriceTextField * (1 - 0.2) - 5) * 1 - 0.029) {
                    self.takebackLabel.text! = "\(TB7)" }
                else {return}

         case (c, aa):
                if TB8 == Double(listPriceTextField * (1 - 0.2)) {
                    self.takebackLabel.text! = "\(TB8)" }
                else {return}

         case (d, aa):
                if TB9 == Double(listPriceTextField * (1 - 0.2)) {
                    self.takebackLabel.text! = "\(TB9)" }
                else {return}

        case (e, ee):
                if TB10 == Double((listPriceTextField * (1 - 0.089)) - 0.3) {
                    self.takebackLabel.text! = "\(TB10)" }
                else {return}
        case (e, ff):
            if TB11 == Double((listPriceTextField * (1 - 0.104)) - 0.3) {
                self.takebackLabel.text! = "\(TB11)" }
            else {return}

         case (f, gg):
            if TB12 == Double(listPriceTextField * (1 - 0.029)) {
                self.takebackLabel.text! = "\(TB12)" }
            else {return}

         default:
            print("Enter Item Info")
         }
    switch (platformTextField2,pLevel2TextField) {

         case (a, aa):
                if TB2_1 == Double(listPriceTextField2) * (1 - 0.125) {
                   takebackLabel2.text! = "\(TB2_1)" }
                else {return}

         case (a, bb):
                if TB2_2 == Double(listPriceTextField2) * (1 - 0.12) {
                  takebackLabel2.text! = "\(TB2_2)" }
                else {return}

         case (a, cc):
                if TB2_3 == Double(listPriceTextField2) * (1 - 0.115) {
                  takebackLabel2.text! = "\(TB2_3)" }
                else {return}

         case (a, dd):
                if TB2_4 == Double(listPriceTextField2) * (1 - 0.11) {
                  takebackLabel2.text! = "\(TB2_4)" }
                else {return}

         case (b, aa):
                if TB2_5 == Double((listPriceTextField2 * (1 - 0.095) - 5) * 1 - 0.029) {
                   takebackLabel2.text! = "\(TB2_5)" }
                else {return}

         case (b, bb):
                if TB2_6 == Double((listPriceTextField2 * (1 - 0.15) - 5) * 1 - 0.029) {
                    self.takebackLabel2.text! = "\(TB2_6)" }
                else {return}

         case (b, cc):
                if TB2_7 == Double((listPriceTextField2 * (1 - 0.2) - 5) * 1 - 0.029) {
                    self.takebackLabel2.text! = "\(TB2_7)" }
                else {return}

         case (c, aa):
                if TB2_8 == Double(listPriceTextField2 * (1 - 0.2)) {
                    self.takebackLabel2.text! = "\(TB2_8)" }
                else {return}

         case (d, aa):
                if TB9 == Double(listPriceTextField * (1 - 0.2)) {
                    self.takebackLabel.text! = "\(TB2_9)" }
                else {return}

        case (e, ee):
                if TB10 == Double((listPriceTextField * (1 - 0.089)) - 0.3) {
                    self.takebackLabel.text! = "\(TB2_10)" }
                else {return}
        case (e, ff):
            if TB2_11 == Double((listPriceTextField2 * (1 - 0.104)) - 0.3) {
                return takebackLabel2.text! = "\(TB2_11)" }
            else {return}

         case (f, gg):
            if TB2_12 == Double(listPriceTextField2 * (1 - 0.029)) {
                takebackLabel.text! = "\(TB2_12)" }
            else {return}

         default:
            print("Enter Item Info")
         }
        }

它是否完全符合switch语句(即,它是否通过了保护功能)?另外,如果你发布完整的switch语句,可能会有所帮助。好的,我现在就把它全部放上去。不知道如何判断它是否通过了保护函数。我所知道的是,我无法将任何内容输出到UILabelField。在switch语句的开头设置一个断点,然后运行应用程序,查看该行是否被击中。如果没有击中,那么它就失败了它被一个守卫抓住了。您也可以在每个守卫语句上设置断点。如果您不知道如何在Xcode中设置断点,只需在要停止的行()的槽中单击鼠标。将尝试一下,谢谢!