首页 > 解决方案 > 在核心数据中显示更新的实体值

问题描述

在核心数据中我有一个实体产品,我的属性是我的主视图控制器中的名称价格我正在使用nsfetchedresultcontroller 从我的核心数据中获取所有数据,并在我点击我去的任何单元格时在表格视图中显示数据详细视图显示下面使用的名称和价格的产品详细信息,在详细视图控制器中我有一个变量 selectedProduct

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        if let dvc = storyboard?.instantiateViewController(identifier: "svc") as? SecondViewController{
            dvc.selectedProduct = frc.object(at: indexPath)
            navigationController?.pushViewController(dvc, animated: true)
        }
    }

在详细视图控制器中,我可以更新产品的数据,这意味着我可以更改产品的名称或价格并使用

selectedProduct.setValue("newName", forKey: "name")

可以说,当我进入详细视图时,它有两个文本字段,一个显示名称,另一个显示价格,当我单击两个文本字段中的任何一个并更改其中的值并按键盘上的返回按钮时,将值保存在核心中数据,更新selectedProduct的值后如何在此处显示更新的值

标签: iosswift

解决方案


您必须在更新值后保存上下文。

do {
  try context.save()
} catch let err {
  print("Could not save.", err)
}

推荐阅读