我有tableView,并且已经成功将其保存到核心数据中(在核心数据中创建新数据)。
当我更新时,它仅基于最后一个数据而不是所有数据进行更新,并且导致其他数据充满了最后一个数据。所以结果是这样的:
实际是第一个和第二个tableView单元格数据不同,但是更新后,它将最后一个数据复制到其他数据。
这是我的更新代码:
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
return
}
let managedContext = appDelegate.persistentContainer.viewContext
let fetchRequestPhone = NSFetchRequest<NSManagedObject>(entityName: "Phone")
do {
let phones = try managedContext.fetch(fetchRequestPhone)
if (phones.count > 0) {
for phone in phones {
phone.setValue(phoneNameValue, forKey: "phoneName")
phone.setValue(phoneNumberValue, forKey: "phoneNumber")
do{
try managedContext.save()
} catch let error as NSError {
print("Could not save. \(error), \(error.userInfo)")
}
}
}
} catch let error as NSError {
print("Could not save. \(error), \(error.userInfo)")
}
修复此错误的正确代码是什么?