В настоящее время я сталкиваюсь с проблемой, когда я хочу использовать охрану для включения кнопки, если желаемая информация заполнена. После прочтения в охранный механизм одно мне неясно. Как мне объединить UITextFields с UISegmentedControls так, чтобы оба были заполнены / выбраны, чтобы активировать кнопку.
@objc func editingChanged(_ textField:UITextField, sgmntControl: UISegmentedControl) {
if textField.text?.count == 1 {
if textField.text?.first == " " {
textField.text = ""
return
}
}
guard
let name = tbxName.text, !name.isEmpty,
let firstName = tbxFirstname.text, !firstName.isEmpty,
let phoneNr = tbxPhoneNr.text, !phoneNr.isEmpty,
let birthDate = tbxBirthdate.text, !birthDate.isEmpty,
let gender = sgmntGender, !gender.isSelected,
let street = tbxStreet.text, !street.isEmpty,
let postalCode = tbxPLZ.text, !postalCode.isEmpty,
let city = tbxCity.text, !city.isEmpty,
let country = tbxCountry.text, !country.isEmpty,
let idNumber = tbxIdNo.text, !idNumber.isEmpty,
let valueCheck = sgmntValueCheck, !valueCheck.isSelected,
let drivingSchoolFlyer = sgmntDrivingSchoolFlyer, !drivingSchoolFlyer.isSelected,
let visionTest = sgmntVisionTest, !visionTest.isSelected,
let visionHelp = sgmntVisionHelp, !visionHelp.isSelected
else {
rbbtnSave!.isEnabled = false
return
}
rbbtnSave!.isEnabled = true
}
В настоящее время я не уверен, что мой подход правильный, поиск в Google также не помог,Я подумал, что было бы разумно использовать UISegmentedControl так же, как текстовое поле, поскольку оба проверяют логические значения с помощью isSelected и isEmpty.