我从服务器加载了 XML 数据(包括图像、文本等),并将该数据显示在 iphone 屏幕上。
当我其他时间访问该屏幕时,如何缓存数据以重新加载该屏幕。它会更快。(不需要再次重新加载 XML 数据)?
谢谢你。
我从服务器加载了 XML 数据(包括图像、文本等),并将该数据显示在 iphone 屏幕上。
当我其他时间访问该屏幕时,如何缓存数据以重新加载该屏幕。它会更快。(不需要再次重新加载 XML 数据)?
谢谢你。
使用EGOcache API。只需在您的班级中导入 EGOCache.h 文件
- (void)setObject:(id<NSCoding>)anObject forKey:(NSString*)key;
-(void)setObject:(id)anObject forKey:(NSString*)key withTimeoutInterval:(NSTimeInterval)timeoutInterval;
-(id)objectForKey:(NSString*)key;
使用第一种方法使用 forkey 设置数据。如果要指定缓存时间,请使用第二种方法。
编辑
EGOCache 将永久保存您的数据,请参阅此处了解 NSCache 的使用情况,其中包含各种自动删除策略。
从服务器下载数据后,您可以将 XML 文件本身存储到文档文件夹(或某些子文件夹)。如果您已将 XML 文件解析为数组和字典,则可以将数据转换为 plist 文件并将其存储在您的 iphone 上。查看 NSData 方法:
- (BOOL) writeToFile: (NSString*)path atomically: (BOOL)useAuxiliaryFile;