2017-07-31 58 views
-3

我有像"123456"这样的字符串。而且我有6个标签。我需要分割每个号码,我必须打印到每个标签。如何分割字符串字母并在每个标签中打印

就像我的标签:

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 ==== In screen design 

我的输出有:

1 2 3 4 5 6 

我如何拆分每个数字,我将如何在我的每个label..I显示也可以使用6让或var来保存每个值,我可以显示它。但我不知道到B完成的功能..

提前感谢!1

回答

1

鉴于text

let text = "123456" 

你需要把它改造成一个String(s)Array

let list = text.characters.map { String($0) } 

现在你可以检查阵列具有至少6个元素,每个元素分配给每个标签

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] 
} 
0

可以使用的text财产简单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") 
      } 
     } 
    } 
+0

这只会设置'lbl1'的文字。 – WMios