我无法使用Swift 3.0编辑并将数据保存到核心数据中



在这里,我已经完成了保存数据并在表视图上显示它,但问题是我无法编辑和将数据更新为核心数据数据库,任何人可以帮助我吗?

@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)")
            }

在您的代码中,您可以混合获取数据并插入新数据。请检查这些答案:

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

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

有关如何在核心数据中更新现有对象的一般想法:

  • 用谓词获取数据
  • 您会恢复匹配对象的数组
  • 设置这些对象的值并将其保存回去

最新更新