如何将循环数据更新为核心数据?

时间:2018-11-01 06:35:52

标签: swift core-data tableview

我有tableView,并且已经成功将其保存到核心数据中(在核心数据中创建新数据)。

当我更新时,它仅基于最后一个数据而不是所有数据进行更新,并且导致其他数据充满了最后一个数据。所以结果是这样的: enter image description here

实际是第一个和第二个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)")
                    }

修复此错误的正确代码是什么?

0 个答案:

没有答案