从响应中,我将得到如下数组:
data = ["1","2","3"]
Button1 // all uibutton iboutlet
Button2 // all uibutton iboutlet
Button3 // all uibutton iboutlet
现在我将如何将数据值绑定到所有 3 按钮。因此,在屏幕中它必须显示如;
1
2
3
注意:所有按钮都是静态的,只有3个数据会从响应中获取。
提前感谢!!
zip([Button1, Button2, Button3], data).forEach { (button, title) in
button.setTitle(title, for: .normal)
}
zip
将两个数组并行连接在一起,因此data
和[Button1, Button2, Button3]
的 zip 将是一个元组数组,如下所示:
[(Button1, "1"), (Button2, "2"), (Button3, "3")]
然后,只需迭代元组数组,将每个按钮的 title 属性设置为其相应的 title 值。
如果data
有超过 3 个元素,则forEach
仍然只会迭代 3 次。
希望我理解正确,你想做什么。
尝试将其制作成这样:
Button1.setTitle(data[0], for: .normal)
Button2.setTitle(data[1], for: .normal)
Button3.setTitle(data[2], for: .normal)
希望对你有帮助
正如弗拉德所说:
Button1.setTitle(data[0], for: .normal)
Button2.setTitle(data[1], for: .normal)
Button3.setTitle(data[2], for: .normal) //Notice !setTitle!
我还建议看看 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html
制作按钮和标题的数组
let button = [button1,button2,button3]
let title = ["1","2","3"]
for (button,title) in zip(button,title){
button.setTitle(title, for: .normal)
}