Кэширование записей RSS с миниатюрами с использованием Core Data - PullRequest
0 голосов
/ 13 апреля 2011

Я реализовал простую программу чтения RSS, которая показывает заголовок и дату, а также отображает миниатюру для каждой записи.

Теперь я хочу реализовать кэширование таким образом, чтобы последние десять записей сохранялись на диске (включая изображения).У меня мало опыта работы с Core Data, и мне интересно, является ли это лучшим решением для моей проблемы.

Кроме того, я относительно новичок в шаблоне проектирования MVC, и я хотел бы знать, каков наилучший способ разработки такой системы.Прямо сейчас мое приложение имеет класс RSSEntry, который хранит title, date и thumbURL и представляет модель.Класс с именем RSSManager анализирует фид и сообщает своему делегату, что он завершил синтаксический анализ, предоставляя NSArray из RSSEntry экземпляров.Тогда есть контроллер представления, простой UITableViewController, который отображает все эти вещи в табличном представлении и также запускает асинхронную загрузку, используя imageURL из RSSEntry.Когда загрузка завершена, он просит табличное представление перезагрузить соответствующие строки, чтобы индикатор активности ячейки был остановлен и изображение отображалось.

Учитывая этот сценарий, как лучше всего реализовать кеширование?Я предполагаю, что мне нужно сохранить каждое изображение в каталоге документов, а затем сохранить путь к файлу, но я не уверен, что это лучший способ создать это.Я хочу избежать беспорядочного кода и, возможно, есть известный шаблон для достижения такого рода вещей.

1 Ответ

3 голосов
/ 13 апреля 2011

Был похожий вопрос вчера.

В любом случае, для любых сетевых запросов я бы использовал ASIHTTPRequest , плюс они имеют поддержку кэша , так что вы можете использовать это для прозрачного кэширования ваших изображений. Я, вероятно, написал бы какую-нибудь оболочку DownloadManager и вызвал бы ее из контроллера представления, как если бы вы использовали RSSManager, а затем использовал бы NSNotification s, чтобы каждая (видимая) строка обновлялась сама по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...