Как кешировать данные в 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;