Перво-наперво, у вас есть утечки памяти.Вы размещаете UIImageViews, но нигде не выпускаете их после того, как добавили их в свое представление.Я не знаю, относится ли это к ARC, хотя.То же самое относится и к вашему массиву Mutable, но я предполагаю, что вы выпускаете его после цикла 'for' где-то, так как кажется, что вы разместили код после пропуска части из него.
Что касается вашего фактического вопроса, яне будет делать это таким образом.Я бы сделал изменяемый массив объектной переменной, а затем заполнил его своими представлениями изображений.При повторном вызове refresh я сначала вызываю -removeFromSuperview для каждого представления изображения, затем очищаю массив, затем снова заполняю его и добавляю новые подпредставления в мое представление.Это простой способ.
Я не знаю, используете ли вы ARC, но вы должны быть осторожны с управлением памятью при использовании динамически загружаемых представлений.Каждый раз, когда вы добавляете представление к другому, вы увеличиваете счетчик сохранений.Затем необходимо вызвать release, чтобы удалить владельца, и позволить среде выполнения iOS обрабатывать все остальное.
Также обратите внимание, что такие операции, как это с использованием представлений, являются дорогостоящими с точки зрения памяти.Итак, еще один способ заново заполнить представление галереи - просто изменить изображение, которое содержит imageView.Это сэкономит вам память и время.Если в представлении нет постоянного числа изображений для отображения, вы можете уточнить свой алгоритм, чтобы изменить изображения в уже созданных представлениях изображений, а затем добавить дополнительные представления изображений, если это необходимо, или удалить оставшиеся, если таковые имеются.
Надеюсь, я помог.