在 swift 中嵌套 for 循环 3 for uibuttons title

Nested for loops in swift 3 for uibuttons title

我有一个 collection 的 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)")
}

出口 collection:

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 = >

移除内循环:

for (i, button) in categoriesButtonLabels.enumerated() {
    button.setTitle("\(categories[i])", for: .normal)
}