在这里,我已经完成了保存数据并在表视图上显示它,但问题是我无法编辑和将数据更新为核心数据数据库,任何人可以帮助我吗?
@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
有关如何在核心数据中更新现有对象的一般想法:
- 用谓词获取数据
- 您会恢复匹配对象的数组
- 设置这些对象的值并将其保存回去