У меня есть коллекция на выходе UIButtons:Вложенные для петель в быстром 3 для uibuttons титул
@IBOutlet var categoriesButtonLabels: [UIButton]!
каждая кнопка имеет другой тег (устанавливается в раскадровке).
Я хочу, чтобы их заголовки заполнялись массивом строк (категории, которые я извлекаю где-то еще в моем коде из базы данных FireBase).
Я пытался что-то вроде этого:
override func viewDidLoad() {
super.viewDidLoad()
// Setting Category buttons labels
for button in categoriesButtonLabels {
for i in categories {
button.setTitle("\(i)", for: .normal)
}
}
}
, но это становится только последнее значение категории массива и настройки названия одинаковы для всех кнопок ... Что я делаю неправильно?
Для полноты картины: Это моя категория массив:
for (index, value) in categories.enumerated() {
print("\(index) = \(value)")
}
и выход коллекции:
for (index, value) in categoriesButtonLabels.enumerated() {
print("\(index) = \(value)")
}
Выход:
categories string array is:0 = sports categories string array is:1 = science categories string array is:2 = movies categories string array is:3 = music categories string array is:4 = history
Outlet UIButtons Collection is:0 = > Outlet UIButtons Collection is:1 = > Outlet UIButtons Collection is:2 = > Outlet UIButtons Collection is:3 = > Outlet UIButtons Collection is:4 = >
Спасибо, но мне что-то не хватает ... если я удалю внутренний цикл, где вы получите [i] для категорий? – Alex
На самом деле моя мисс. См. Обновленный ответ –
фатальная ошибка: индекс за пределами диапазона (lldb). , который является супер странным, поскольку массив категорий задан правильно – Alex