0

here I had completed saving data and displaying it on table view also had done but the problem is I am unable to edit and update the data to the core data database can anyone help me ?

@IBAction func updateButtonClicked(_ sender: Any) {
            var firstname = ""
            var lastname = ""
            var emailid = ""
            var Password = ""
            var mobileNumber = ""

            firstname = firstnameTextfield.text!
            lastname = lastanameTextField.text!
            emailid = emailidTextField.text!
            Password = passwordTextField.text!
            mobileNumber = mobilenumberTextField.text!

            let appDelegate = UIApplication.shared.delegate as! AppDelegate
            let managedContext = appDelegate.persistentContainer.viewContext
            let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName:"Account")
            do {
                let list = try context.fetch(fetchRequest) as? [NSManagedObject]
                if list?.count != 0
                {
                    let newManagedObject = NSEntityDescription.insertNewObject(forEntityName: "Account", into: context)
                    newManagedObject.setValue(firstnameTextfield.text, forKey: "firstName")
                    newManagedObject.setValue(lastanameTextField.text, forKey: "lastname")
                    newManagedObject.setValue(emailidTextField.text, forKey: "emailID")
                    newManagedObject.setValue(passwordTextField.text, forKey: "password")
                    newManagedObject.setValue(mobilenumberTextField.text, forKey: "mobileNumber")
                    try managedContext.save()
                }
                }
            catch let error as NSError {
                print("Fetch failed: \(error.localizedDescription)")
            }
pinedax
  • 9,246
  • 2
  • 23
  • 30

1 Answers1

0

In your code you have a mix of fetching data and inserting new data. Please check those answers:

https://stackoverflow.com/a/28258374/4689446

https://stackoverflow.com/a/38423458/4689446

General idea for how to update existing object in Core Data:

  • fetch data with predicate
  • you get back array of matching objects
  • set values for those objects and save them back
Community
  • 1
  • 1
Matic1911
  • 381
  • 1
  • 3
  • 13