У меня есть 4 UITextFields и UIButton (кнопка Сохранить).
Когда я нажимаю кнопку «Сохранить», он должен добавить то, что у меня есть в моих текстовых полях, в CoreData, а также заполнить данные в UITableView.
Но проблема в том, что когда я ничего не помещаю в свои TextFields и нажимаю «Сохранить», я добавляю пустой объект в мои CoreData, а также в мой UITableView.
Вот мой код:
@IBOutlet weak var productNameTextfield: UITextField!
@IBOutlet weak var productCategoryTextField: UITextField!
@IBOutlet weak var productDescriptionTextfield: UITextField!
@IBOutlet weak var productPriceTextfield: UITextField!
// Func to insert data from TextFields into DB
func insertProduct(){
let product = Product(context: context)
let productUUID = UUID().uuidString
product.id = productUUID
if (productNameTextfield.text?.trimmingCharacters(in: .whitespaces).isEmpty)! {
showAlertWith(title: "Name required", message: "Product name is required !")
}
else if (productCategoryTextField.text?.trimmingCharacters(in: .whitespaces).isEmpty)! {
showAlertWith(title: "Category required", message: "Product Category required !")
}
else if (productDescriptionTextfield.text?.trimmingCharacters(in: .whitespaces).isEmpty)! {
showAlertWith(title: "Description required", message: "Product Description required !")
}
else if (productPriceTextfield.text?.trimmingCharacters(in: .whitespaces).isEmpty)! {
showAlertWith(title: "Price required", message: "Product Price required !")
}
else{
guard let productPrice = (productPriceTextfield.text ?? "").isEmpty ? "0.00" : productPriceTextfield.text else { return }
product.name = self.productNameTextfield.text!
product.category = self.productCategoryTextField.text!
product.prodDescription = self.productDescriptionTextfield.text!
product.price = Float(productPrice)!
appDelegate.saveContext()
resetAllFields()
showAlertWith(title: "Done", message: "Product was added with success !")
}
}
Вот мои CoreData:
А вот мой баг на интерфейсе:
Любая идея мне очень поможет!
Спасибо!