I have 4 labels (dayString1, dayString2, dayString3 and dayString4) in which they will put a numerical value and what I need to do is that if the content of dayString1 is less than 60 than the dayString2 appears, and if the sum of dayString1 + dayString2 is less than 60 the dayString3 appears and so on; My logic was this, but it gives error:
(Ambiguous reference to operator function '<')
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
}
You need to type caste string to integer before performing any comparison with another integer like this:
if Int(dayString) < 60 {
Also do nil coalescing technique to handle unwrapping of texts from textfields:
self.dayString = dayTextField.text ?? "0"
self.dayString2 = dayTextField2.text ?? "0"
self.dayString3 = dayTextField3.text ?? "0"
self.dayString4 = dayTextField4.text ?? "0"