2

我从服务器加载了 XML 数据(包括图像、文本等),并将该数据显示在 iphone 屏幕上。

当我其他时间访问该屏幕时,如何缓存数据以重新加载该屏幕。它会更快。(不需要再次重新加载 XML 数据)?

谢谢你。

4

2 回答 2

3

使用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 的使用情况,其中包含各种自动删除策略。

于 2013-03-06T11:01:03.130 回答
0

从服务器下载数据后,您可以将 XML 文件本身存储到文档文件夹(或某些子文件夹)。如果您已将 XML 文件解析为数组和字典,则可以将数据转换为 plist 文件并将其存储在您的 iphone 上。查看 NSData 方法:

- (BOOL) writeToFile: (NSString*)path  atomically: (BOOL)useAuxiliaryFile;
于 2010-09-14T10:11:58.493 回答