【问题标题】:How to keep an SQLite database and UITableView synchronized如何保持 SQLite 数据库和 UITableView 同步
【发布时间】:2010-11-02 16:05:59
【问题描述】:
我是 iPhone 开发的新手,并尝试创建一个简单的地址簿。
联系人数据存储在 SQLite 数据库中并显示在 UITableView 中(就像在联系人应用程序中一样)。当用户点击表格中的名称时,可以看到详细信息视图。有一个删除按钮,可以删除联系人。
问题是,我不确定如何将 SQLite 数据库与表的数据源同步。所有联系人数据都存储在 NSMutableArray 中,该数组在应用启动时填充(使用 SELECT 查询)。
现在,当我删除一个联系人时,我必须同时删除数组中的条目和数据库中的行。
还有其他更“优雅”的方法吗?
【问题讨论】:
标签:
iphone
sqlite
uitableview
【解决方案1】:
您可能想尝试将 Core Data 与 NSFetchedResultsController 一起使用。如果您在 Xcode 中创建基于导航的应用程序并单击 Core Data 复选框,它将创建一个由 Core Data 支持的示例应用程序。我在设置我的第一个应用程序时使用了它,该应用程序使用导航控制器和带有核心数据的表格视图,它为在表格视图中添加和删除行提供了一个很好的起点。
【解决方案2】:
我通过将[myTableView reloadData] 放入-viewWillAppear 解决了这个问题。这样,每当这个视图出现时——无论是被推送还是弹出——它都会重新启动它的数据源。