Я хочу создать класс Cache Manager для новостей, который также можно использовать в других проектах iPhone. Мой диспетчер кеша будет поддерживать кэширование данных JSON, т.е. текста и изображения, и хранить их локально на iPhone. Основная идея этого заключается в том, чтобы позволить приложению получить доступ к кэшированным данным, что приведет к снижению сетевой активности.
Я думаю реализовать эту вещь следующими способами:
База данных Sqlite, т.е. извлечение всех данных и сохранение
Добавление этих данных в некоторый файл .plist
Базовые данные
Я попытался использовать этот код для второго решения:
NSString *plistPath = [self Return_PlistPathCreation]; // Method to creat the JSON file locaally under Documents
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setValue:newsArray forKey:@"homenews"]; //newsArray is the array containing objects parsed from the JSON webservice
NSLog(@"JSON representation for dictionary is %@",[dict JSONRepresentation]); //it prints perfectly
[[dict JSONRepresentation] writeToFile:plistPath atomically:YES encoding:NSASCIIStringEncoding error:nil]; //Not not able to write it within the file
Что не так с приведенным выше кодом?
Итак, какой из них лучше всего подходит для хранения кэшированных данных с точки зрения производительности и скорости отклика приложения? Хотя я открыт для новых идей, есть ли какие-либо другие способы, кроме указанных выше?