【发布时间】:2012-09-25 20:30:23
【问题描述】:
我正在使用带有 UITableView 的 NSFetchedResultsController 从底层 sqlite 数据库中呈现 iOS 应用程序中的数据。在应用程序流程中的某些点,我需要从单独的控制器更新数据库多行中的标志。
我不认为遍历所有对象,更改标志,然后重新保存是理想的。
有没有最好的方法来做到这一点?
【问题讨论】:
我正在使用带有 UITableView 的 NSFetchedResultsController 从底层 sqlite 数据库中呈现 iOS 应用程序中的数据。在应用程序流程中的某些点,我需要从单独的控制器更新数据库多行中的标志。
我不认为遍历所有对象,更改标志,然后重新保存是理想的。
有没有最好的方法来做到这一点?
【问题讨论】:
你可以这样做。
您可以使用有关保存和更改上下文的常用 CoreData 通知来处理此问题。 您可以执行任何您想要的操作,只有在保存上下文时才会通知他们。
【讨论】:
update mytable set myflag=2 where myflag==1 对表中大约一千行的影响。你会通过一次迭代一个 NSManagedObjects、直接访问 db 文件并执行 sql 更新,还是通过另一种机制来做到这一点?