我是iPhone开发的新手,并尝试创建一个简单的通讯录。 联系人数据存储在SQLite数据库中,并显示在UITableView中(就像在“联系人”应用程序中一样)。当用户点击表格中的名称时,细节视图变得可见。有一个删除按钮删除联系人。
问题是,我不确定如何将SQLite数据库与表的数据源同步。所有联系人数据都存储在NSMutableArray中,该应用程序在应用程序启动时会被填充(使用SELECT查询)。 现在,当我删除联系人时,我必须删除数组中的条目和数据库中的行。
还有其他更优雅的方法吗?
答案 0 :(得分:3)
您可能希望尝试将Core Data与NSFetchedResultsController一起使用。如果您在Xcode中创建基于导航的应用程序并单击Core Data复选框,它将创建一个由Core Data支持的示例应用程序。我在设置第一个使用导航控制器和带有核心数据的表视图的应用程序时使用了这个,并且它提供了一个很好的起点,可以在表视图中添加和删除行。
答案 1 :(得分:2)
我已将[myTableView reloadData]
置于-viewWillAppear
内解决此问题。这种方式每次都可以看到 - 无论是推送还是弹出 - 它都会重新启动其数据源。