我在表格视图中显示了大量数据(超过100个条目)。数据将是静态的,所以我想将它存储在plist文件中。问题是当它在表格视图中显示时,用户将能够选择或取消选择一行,并且必须存储此信息。
换句话说,应用程序将包含一系列内容,用户可以选择他拥有的内容。
将数据存储在应用中的最佳方法是什么?所选信息是什么?
PS:我正在避免核心数据,但如果这是最好的方式,我怎样才能将数据预先存储在实体中?
答案 0 :(得分:2)
100 entres实际上并不是大量数据。
我倾向于使用plist来获取这些少量数据。
如果您愿意,也可以将用户数据保存在同一个plist中: 当应用程序第一次运行时,它可以将plist复制到文档目录,以便可以编辑它(写入所有权数据)。
或者,您可以使用单独的plist作为用户数据。
答案 1 :(得分:2)
没有“最好的方法”,但一种可行的方法是使用JSON文件。如果数据不是太大,请说JSON文件远小于1 MByte。
在编辑器中创建和修改JSON文件非常舒服。您可以像往常一样使用NSJSONSerialization
解析和创建表示。
提示:具有N个字节的JSON文件,创建Foundation对象的表示,大致需要总共5 * N到10 * N的分配空间。
答案 2 :(得分:1)
跟踪选定和未选定行的最简单方法是: 通过点击单元格,此代码可以节省价值。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
BOOL isSelected=[[NSUserDefaults standardUserDefaults] boolForKey:[indexPath.row stringValue]];
[[NSUserDefaults standardUserDefaults] setBool:!isSelected forKey:[indexPath.row stringValue]];
}