Ответ 1
У вас есть две проблемы (и без регулярного выражения!)
1. Вы не создаете массив. Вам нужно сделать:
var logoImages: [UIImage] = []
или
var logoImages: Array<UIImage> = []
или
var logoImages = [UIImage]()
или
var logoImages = Array<UIImage>()
2. Если вы хотите добавить новые объекты в массив, вы должны использовать Array.append()
или некоторый эквивалентный синтаксический сахар:
logoImages.append(UIImage(named: "logo.png")!)
или
logoImages += [UIImage(named: "logo.png")!]
или
logoImages += [UIImage(named: "logo.png")!, UIImage(named: "logo2.png")!]
Вам нужно добавить к массиву, потому что (excerpt из документов):
Вы не можете использовать синтаксис индекса, чтобы добавить новый элемент в конец массив. Если вы попытаетесь использовать синтаксис индекса для извлечения или установки значения для индекса, который находится за пределами существующих границ массивов, вы будете вызвать ошибку времени выполнения. Однако вы можете проверить, что индекс действителен перед использованием, сравнивая его со свойством count массива. Кроме когда count равно 0 (это означает, что массив пуст), наибольший допустимый индекс в массиве всегда будет count - 1, потому что массивы индексируются из нуль.
Конечно, вы всегда можете упростить его, если это возможно:
var logoImage: [UIImage] = [
UIImage(named: "logo1.png")!,
UIImage(named: "logo2.png")!
]
edit: Обратите внимание, что UIImage теперь имеет "failable" инициализатор, что означает, что он возвращает необязательный. Я обновил все биты кода, чтобы отразить это изменение, а также изменения в синтаксисе массива.