Используйте данные основных данных в качестве кэша браузера в афневоротинге

StackOverflow https://stackoverflow.com/questions/8852327

  •  28-10-2019
  •  | 
  •  

Вопрос

Я прочитал кое -что о доступе к многочисленным потокам на DB, но все еще не уверен, что для чтения/письма в сочетании с асинхродиционной сетью загрузки. Например, у меня будет страница с изображениями из Интернета, поэтому я получаю их по их URL -адресам, используя Afnetworking, но я хочу сначала проверить на своем DB и написать на нем (или диск) полученное изображение для будущего использования. Что может быть лучшим способом сделать это без блокировки пользовательского интерфейса (например, при прокрутке)? Если я сделаю это с синглтоном, который читает/записывает, это блокирует основной ветку. Спасибо за любые советы по этому поводу.

Это было полезно?

Решение

Afnetworking - это не инструмент для этого. Вместо этого вы можете воспользоваться встроенной функциональностью NSURLCache--конкретно Вилка Питера Стейнбергера из Sdurlcache.

В -applicationDidFinishLaunchingWithOptions:, делать NSURLCache +setSharedCache: с экземпляром SDURLCache (с некоторым количеством дискового пространства выделено). Все запросы, сделанные через UIWebView (а также AFNetworking, в этом отношении) автоматически будет направлено через NSURLCache Перед тем, как запрос будет представлен, чтобы проверить кэш. Это ненавязчивая, забрасывается и правильно следует директивам кэша, и это должно решить вашу проблему довольно хорошо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top