Я бы увидел здесь несколько решений:
1) продолжить работу с NSUserDefaults, списки LRU (последние использовавшиеся недавно, я полагаю) часто сохраняются в пользовательских настройках, независимо от того, хороший это или плохой дизайн,Если это не занимает много места и работает для вас, просто продолжайте.
2) создайте общий контекст для LRU, возможно, с помощью синглтона, который был бы доступен для всего приложения, поместите ваши изображениятам и вернуть их в любое время, когда они вам нужны.На самом деле вы могли бы сделать его интерфейс с помощью методов класса и не потрудиться сделать его настоящим синглтоном.Методы класса представляют хороший статический контекст, который легко доступен.В ObjC их даже можно переопределить!Что довольно круто по сравнению с Java.
3) использовать шаблон фабрики для создания представлений: существует один класс фабрики, который знает делегат, создание новых представлений будет снова реализовано с использованием методов класса: каждый метод create будетустановить одного известного делегата для каждого представления независимо от точки создания.
4) теперь этот вариант действительно излишний, но очень «несвязанный»: отправлять уведомления с недавно использованными изображениями.Те, кто заинтересован в их знании, могут зарегистрироваться, являются наблюдателями и, в общем, получают изображения ...