在 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)
}
我有一个 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)
}