数据缓存方案
by 伍雪颖
今天考虑一个适合自己项目的缓存方案,基本都实验了下(曾经一直用CoreData)
1.coredata,用MagicalRecord+Mogenerator
要建表,还要写好多解析代码,果断不用,好麻烦
2.序列化
[NSKeyedArchiver archiveRootObject:model toFile:path];
[NSKeyedUnarchiver unarchiveObjectWithFile:path];
好方便,只是总感觉体验不好,測了下方法时间,当model量大后解析时间基本在200ms以上了,放弃使用3.sqllite
用了前期唐巧推荐的一个开源键值库,用起来好方便
[[WTUtilsshared].db clearTable:@"RestList"];
[[WTUtilsshared].db putObject:responsewithId:@"restList"intoTable:@"RestList"];
再结合今天看的Mantle
- (void)loadSavedData { dispatch_async(dispatch_get_global_queue(0, 0), ^{ id data = [[WTUtils shared].db getObjectById:@"restList" fromTable:@"RestList"]; restListArray = [WTRestListEntity getRestListArray:data]; if (restListArray != nil) { DELAYEXECUTE(0.0, [_tableView reloadData]); }else { [ZAActivityBar showWithStatus:@"loading..."]; } }); }最后缓存效果不错,代码操作简单,可操作性好.