NSURLRequest должен нормально работать с политикой кэширования по умолчанию, если загружать образ только один раз за прогон (т. Е. Он кэшируется в памяти). Однако iPhone не кэширует данные на диск.
Документы немного противоречивы по этому вопросу. Например, документы по NSURLCache initWithMemoryCapacity: diskCapacity: diskPath говорят, что diskPath в iOS должен быть именем подкаталога, в котором будет храниться кэш на диске.
Но документация по NSURLCacheStoragePolicy гласит:
Важно: iOS игнорирует этот кеш
политика, а вместо этого рассматривает это как
NSURLCacheStorageAllowedInMemoryOnly.
Исходя из фактического тестирования, последний, кажется, имеет место. Поэтому независимо от того, какие параметры вы установили, вы не получите кэширование на диск на iOS (в настоящее время). Поэтому, если вы хотите, чтобы ваше изображение оставалось между циклами, вам нужно сохранить его в файловой системе.
Некоторые рекомендовали https://github.com/rs/SDURLCache для этой цели, хотя я сам еще не пробовал.