2015-11-06 6 views
0

Я должен объявить большое количество изображений (например, 350 изображений). Теперь я объявляю изображения так:Как объявить большое количество изображений

var largeImages: [UIImage] = [ 
    UIImage(named: "G_0.png")!, 
    UIImage(named: "G_1.png")!, 
    UIImage(named: "G_2.png")!, 
    UIImage(named: "G_3.png")!] 

Как объявить большое количество изображений?

+0

Все ли они копии того же изображения, что и вы здесь, или у изображений есть разные имена? Вычислены ли имена ('_1',' _2' и т. Д.) Или все полностью уникальные? –

+0

Если вы не нуждаетесь в них, выделите все на одном, вы можете просто сохранить имена изображений и создать функцию, чтобы вернуть новое изображение, когда вам это нужно ... – Alladinian

+0

Почему бы не использовать цикл? У вас есть память для этих 350 изображений? Я бы создал подкласс, который был instanicaetd с именем (или url), и он загружает его динамически по запросу и предоставляет метод для освобождения изображения из памяти в случае получения предупреждений о памяти. –

ответ

0
var largeImages = [UIImage]() 
for index in 0...100 { 
    largeImages.append(UIImage(named: "G_\(index).png")!) 
} 

хотя я не думаю, что вам нужно расширение «.png». вы можете попробовать его оставить! и, как заявили другие ребята в своих комментариях, вы должны действительно подумать о создании экземпляров изображений по мере необходимости ...

+0

спасибо;), Как сделать аналогичную вещь с URL-адресом 365? –

+0

Что именно вы имеете в виду? –

0

Ответ: нет. Вы должны понимать, что нельзя выделить больше, чем несколько объектов UIImage одновременно. Попытка выделить много объектов (более 20) UIImage, вероятно, приведет к сбою вашего приложения, потому что у вас закончится нехватка памяти. Если вы пытаетесь реализовать видео/анимацию, используйте существующую библиотеку анимации вместо того, чтобы просто пытаться запустить собственную реализацию Quicktime.