2010-09-14 64 views
2

我從服務器加載XML數據(包括圖像,文本等),並在iPhone屏幕上顯示該數據。如何在iOS中緩存數據

如何在其他時間訪問該屏幕時緩存數據以重新加載該屏幕。它會更快。 (不需要重新加載XML數據)?

謝謝。

回答

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將永久保存您的數據,請參見here爲NSCache的使用是整合各種自動刪除策略。

0

從服務器下載數據後,您可以將XML文件本身存儲到文檔文件夾(或某些子文件夾)。 如果您已將XML文件解析爲數組和字典,則可以將數據轉換爲plist文件並將其保存到iphone本身。 看NSData的方法:

- (BOOL) writeToFile: (NSString*)path atomically: (BOOL)useAuxiliaryFile;