2013-10-11 20 views
0

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

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

什么是最好的方式来存储数据的应用程序和选定的信息?

PS .:我在回避核心数据,但如果这是最好的方式,我如何预先将数据存储在实体中?

+1

如果您需要更改数据的唯一的事情就是选择,你可以轻松拥有一个单独的文件存储选定的指标(在一个纯文本文件或者存储,通过分离指标';',可以使用'NSArray' + plist)。 –

回答

1

最简单的方式来跟踪选中和未选中的行在这里: 这个代码将节省您的水龙头单元格的价值。

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

}

+0

如果应用程序有第二个用户呢? –

+0

我之前想到过这个,但是我担心对很多条目使用User Defaults太多了,但是因为数据只会是布尔值,所以我认为这很好。这里的所有解决方案都很棒,但这个解决方案非常简单,而且我有时间不够。 Petro,在我的情况下,该应用只允许一个用户,所以这很好=) – douglasd3

2

100个entres实际上并不是大量的数据。

我会倾向于使用plist来处理这些少量的数据。

如果您想要,您可以将用户数据保存在同一个plist中: 当应用第一次运行时,它可以将plist复制到文档目录以便可以编辑它(所有权数据)。

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

2

没有“最佳方式”,但一种可行的方法是使用JSON文件。如果数据不是太大,说JSON文件远远少于1兆字节。

在编辑器中创建和修改JSON文件相当舒服。您可以像往常一样通过NSJSONSerialization解析和创建表示。

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

相关问题