首页 > 解决方案 > 如何显示和隐藏标签?

问题描述

我有 4 个标签(dayString1、dayString2、dayString3 和 dayString4),它们将在其中放置一个数值,我需要做的是,如果 dayString1 的内容小于 60,则出现 dayString2,并且如果 dayString1 + dayString2 小于 60 dayString3 出现以此类推;我的逻辑是这样的,但它给出了错误:

(对运算符函数'<'的模糊引用)

func chooseDays() {
        self.dayString = dayTextField.text!
        self.dayString2 = dayTextField2.text!
        self.dayString3 = dayTextField3.text!
        self.dayString4 = dayTextField4.text!

        if dayString < 60 {
            self.dateTextField2.isHidden = false
            self.dayTextField2.isHidden = false

            self.dateTextField3.isHidden = true
            self.dayTextField3.isHidden = true
            self.dateTextField4.isHidden = true
            self.dayTextField4.isHidden = true

            SearchConstraint.constant = 72

            if dayString + dayString2 < 60 {
                self.dateTextField2.isHidden = false
                self.dayTextField2.isHidden = false
                self.dateTextField3.isHidden = false
                self.dayTextField3.isHidden = false

                self.dateTextField4.isHidden = true
                self.dayTextField4.isHidden = true

                SearchConstraint.constant = 112

                if dayString + dayString2 + dayString3 < 60 {
                    self.dateTextField2.isHidden = false
                    self.dayTextField2.isHidden = false
                    self.dateTextField3.isHidden = false
                    self.dayTextField3.isHidden = false
                    self.dateTextField4.isHidden = false
                    self.dayTextField4.isHidden = false

                    SearchConstraint.constant = 152
                }
            }
        }
        return
    }

标签: swiftswift4

解决方案


在与另一个整数进行任何比较之前,您需要将字符串类型转换为整数,如下所示:

if Int(dayString) < 60 {

也这样做是为了不让展开错误发生:

    self.dayString = dayTextField.text ?? "0"
    self.dayString2 = dayTextField2.text ?? "0"
    self.dayString3 = dayTextField3.text ?? "0"
    self.dayString4 = dayTextField4.text ?? "0"

推荐阅读