0

我有大量数据(超过 100 个条目)要显示在表格视图上。数据将是静态的,所以我想将其存储在 plist 文件中。问题是当它显示在表格视图中时,用户将能够选择或取消选择一行,并且必须存储此信息。

换句话说,应用程序将有一个事物列表,用户可以选择他拥有的事物。

将数据存储在应用程序和所选信息中的最佳方式是什么?

PS.:我避免使用 Core Data,但如果这是最好的方法,我如何将数据预存储在实体中?

4

3 回答 3

2

没有“最佳方法”,但一种可行的方法是使用 JSON 文件。如果数据不是太大,假设 JSON 文件远小于 1 MByte。

在编辑器中创建和修改 JSON 文件非常方便。您可以像往常一样使用 解析和创建表示NSJSONSerialization

提示:一个具有 N 个字节数的 JSON 文件创建一个 Foundation 对象的表示,大致需要总共 5*N 到 10*N 分配空间。

于 2013-10-11T11:44:54.960 回答
2

100 个条目实际上并不是大量数据。

对于这么少量的数据,我倾向于使用 plist。

如果您愿意,您也可以将用户数据保存在同一个 plist 中:当应用程序首次运行时,它可以将 plist 复制到文档目录,以便可以对其进行编辑(写入所有权数据)。

或者,您可以为用户数据使用单独的 plist。

于 2013-10-11T11:43:17.810 回答
1

跟踪选定行和未选定行的最简单方法在这里:此代码将通过点击单元格来保存值。

   - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    BOOL isSelected=[[NSUserDefaults standardUserDefaults] boolForKey:[indexPath.row stringValue]];
    [[NSUserDefaults standardUserDefaults] setBool:!isSelected forKey:[indexPath.row stringValue]];

}

于 2013-10-11T12:03:24.660 回答