我有像"123456"
这样的字符串。我有6个标签。我需要拆分每个数字,我必须打印到每个标签。
就像我的标签是:
Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 ==== In screen design
我的输出必须:
1 2 3 4 5 6
如何分割每个数字以及我将如何在每个标签中显示..我也可以使用6 let或var来保存每个值,我可以显示它。但我不知道完成的功能。
答案 0 :(得分:1)
给定text
let text = "123456"
您需要将其转换为Array
String(s)
。
let list = text.characters.map { String($0) }
现在您可以检查数组是否包含至少6个元素,并将每个元素分配给每个标签的text
属性
if list.count > 5 {
lab1.text = list[0]
lab2.text = list[1]
lab3.text = list[2]
lab4.text = list[3]
lab5.text = list[4]
lab6.text = list[5]
}
答案 1 :(得分:0)
您可以使用简单的ForIn循环:
@IBOutlet weak var lbl1: UILabel!
@IBOutlet weak var lbl2: UILabel!
@IBOutlet weak var lbl3: UILabel!
@IBOutlet weak var lbl4: UILabel!
@IBOutlet weak var lbl5: UILabel!
@IBOutlet weak var lbl6: UILabel!
let word = "123456"
func splitWord(){
// Swift 3.1
for (i,char) in word.characters.enumerated(){
switch i {
case 0:
lbl1.text = "\(char)"
case 1:
lbl2.text = "\(char)"
case 2:
lbl3.text = "\(char)"
case 3:
lbl4.text = "\(char)"
case 4:
lbl5.text = "\(char)"
case 5:
lbl6.text = "\(char)"
default:
print("Out of bound")
}
}
}