Как кешировать данные в ios

Я загрузил данные XML (включая изображения, текст,...) с сервера и отобразил эти данные на экране iphone.

Как я могу кэшировать данные, чтобы перезагрузить этот экран, когда я посещаю этот экран в другой раз. Это будет быстрее. (не нужно снова загружать данные XML)?

Спасибо.

2 ответа

Решение

Используйте 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;

Используйте первый метод для установки ваших данных с помощью кнопки. Если вы хотите установить время кэширования, используйте второй метод.

редактировать

EGOCache сохранит ваши данные навсегда. См. Здесь об использовании NSCache, который включает в себя различные политики автоматического удаления.

Вы можете сохранить сам файл XML в папке с документами (или какой-либо подпапке) после загрузки данных с сервера. Если вы проанализировали XML-файл в массивах и словарях, вы можете преобразовать данные в plist-файл и сохранить их на своем iphone. Посмотрите на метод NSData:

- (BOOL) writeToFile: (NSString*)path  atomically: (BOOL)useAuxiliaryFile;
Другие вопросы по тегам