Hi I'm a new swift developer and I'm having trouble thinking of away to reduce my if else nesting. It looks really wrong to me and there must be a better way to do this. Please kindly show me how.
if pigTypeTextField.text == PIG_TYPES_ENUM.gilt.rawValue ||
pigTypeTextField.text == PIG_TYPES_ENUM.offDutySow.rawValue ||
pigTypeTextField.text == PIG_TYPES_ENUM.matingSow.rawValue ||
pigTypeTextField.text == PIG_TYPES_ENUM.drySow.rawValue ||
pigTypeTextField.text == PIG_TYPES_ENUM.farrow.rawValue {
if parityTextField.text != "" {
pigData["parity"] = parityTextField.text!
} else if pigTypeTextField.text == PIG_TYPES_ENUM.gilt.rawValue {
if arrivalDateTextField.text != "" {
pigData["arrivalDate"] = Helper.stringDateToTimestamp(date: arrivalDateTextField.text!)
pigData["herdEntryDate"] = (herdEntryDateTextField.text != "") ? Helper.stringDateToTimestamp(date: herdEntryDateTextField.text!) : ""
}
} else if pigTypeTextField.text == PIG_TYPES_ENUM.offDutySow.rawValue {
if arrivalDateTextField.text != "" &&
herdEntryDateTextField.text != "" &&
startOffDutySowDateTextField.text != "" {
pigData["arrivalDate"] = Helper.stringDateToTimestamp(date: arrivalDateTextField.text!)
pigData["herdEntryDate"] = Helper.stringDateToTimestamp(date: herdEntryDateTextField.text!)
pigData["startOffDutySowDate"] = Helper.stringDateToTimestamp(date: startOffDutySowDateTextField.text!)
}
} else if pigTypeTextField.text == PIG_TYPES_ENUM.matingSow.rawValue {
if arrivalDateTextField.text != "" &&
herdEntryDateTextField.text != "" &&
startOffDutySowDateTextField.text != "" &&
semenFromBoarIDTextField.text != "" &&
technicianNameTextField.text != "" &&
matingDateTextField.text != "" {
pigData["arrivalDate"] = Helper.stringDateToTimestamp(date: arrivalDateTextField.text!)
pigData["herdEntryDate"] = Helper.stringDateToTimestamp(date: herdEntryDateTextField.text!)
pigData["startOffDutySowDate"] = Helper.stringDateToTimestamp(date: startOffDutySowDateTextField.text!)
pigData["semenFromBoarID"] = semenFromBoarIDTextField.text!
pigData["technicianName"] = technicianNameTextField.text!
pigData["matingDate"] = matingDateTextField.text!
}
}
}
Aucun commentaire:
Enregistrer un commentaire