1.新建类DataCache:
// 归档
+(void)cacheWithData:(id)data withFile:(NSString *)file{
// NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
// NSString *aniPath = [paths lastObject]; //在真机上获取不到路径
NSString *aniPath = NSHomeDirectory();
NSString *path = [aniPath stringByAppendingPathComponent:file];
[NSKeyedArchiver archiveRootObject:data toFile:path];
}
// 解档
+ (id)archiveWithFile:(NSString *)file{
// NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
// NSString *aniPath = [paths lastObject];
NSString *aniPath = NSHomeDirectory();
NSString *path = [aniPath stringByAppendingPathComponent:file];
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
return array;
}
2.使用:
// 存储路径(college_mouth.arc 在虚拟机上, 简单的写可以找到路径, 电脑会自动找到路径. 但是, 在真机上无法获取路径, 必须写完整)
NSString *college_mouthPath = @"/Documents/college_mouth.arc";
// 归档
[DataCache cacheWithData:result withFile:_rankingListPath[0]];
// 解档
_tableView.array = [DataCache archiveWithFile:currentDateName];