目标c-存储300条iPhone记录



我正在读取一个JSON提要,其中包含大约300个数组记录。每个记录是一个包含大约8个条目的对象。启动后,在本地字典中存储的内容很多吗?

如果是这样的话,我应该在每次请求数据时都在线读取提要中的数据吗?

如果它不经常更改,您可以将其缓存到核心数据存储中,并更新不同、已删除或新添加的单个记录,而不是在启动时重新创建存储。

即使它经常更改,使用CD的另一个优点是,您可以快速查询核心数据存储中的特定记录,而不是(可能)遍历每个记录。

代码量较少的方法是将字典存储在plist中并自己查询数据。iPhone可以毫无延迟地处理内存中的300个对象,所以除非迫不得已,否则我不会打扰任何其他事情。何时刷新提要取决于您的应用程序逻辑。

NSString *path = [[NSBundle mainBundle] pathForResource:@"feed" ofType:@"plist"];
[dict writeToFile:path atomically:YES]; // write
[dict dictionaryWithContentsOfFile:path]; // read
[dict enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL *stop){ //iterate
    NSLog(@"%@",[NSString stringWithFormat:@"%@=%@", key, obj]);
}];

为了获得更高的性能,请使用二进制plist。如果必须进行复杂的查询,请使用NSPredicate或核心数据。

是的,每次请求数据时,您应该只在线读取提要中的数据。虽然300个数组记录并不是太大的数据。但在实时提要的情况下,每次请求数据时都应该读取数据。

最新更新