Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS CoreData中的多行sqlite数据库更新_Ios_Sqlite_Core Data - Fatal编程技术网

iOS CoreData中的多行sqlite数据库更新

iOS CoreData中的多行sqlite数据库更新,ios,sqlite,core-data,Ios,Sqlite,Core Data,我正在使用带有UITableView的NSFetchedResultsController在iOS应用程序中显示来自底层sqlite数据库的数据。在应用程序流程中的某个特定点,我需要从一个单独的控制器更新数据库多行中的标志 我不认为迭代所有对象,更改标志,然后重新保存是理想的 有最好的方法吗?你可以这样做 将获取的控制器放弃为委托(非常重要) 对CoreData执行更改并保存上下文 再次分配获取的控制器委托并再次执行获取 调用重新加载表,仅更新可见行 您可以通过有关保存和更改上下文的常规Core

我正在使用带有UITableView的NSFetchedResultsController在iOS应用程序中显示来自底层sqlite数据库的数据。在应用程序流程中的某个特定点,我需要从一个单独的控制器更新数据库多行中的标志

我不认为迭代所有对象,更改标志,然后重新保存是理想的

有最好的方法吗?

你可以这样做

  • 将获取的控制器放弃为委托(非常重要)
  • 对CoreData执行更改并保存上下文
  • 再次分配获取的控制器委托并再次执行获取
  • 调用重新加载表,仅更新可见行
  • 您可以通过有关保存和更改上下文的常规CoreData通知来处理此问题。
    您可以执行任何需要的操作,只有在保存上下文时才会通知它们。

    听起来很合理。我想在步骤2中所做的更改会影响表中大约1000行的
    updatemytable set myflag=2,其中myflag==1
    。您是通过一次遍历一个NSManagedObjects、直接访问db文件并生成sql更新,还是通过其他机制来实现这一点?