Swift 2 - 连接字符串和数字?

时间:2016-03-01 15:25:28

标签: swift concatenation

必须有一个可以简化以下代码的For循环:

    let defaults = NSUserDefaults.standardUserDefaults()

    self.item01.text = defaults.objectForKey("item01") as? String
    self.item02.text = defaults.objectForKey("item02") as? String
    self.item03.text = defaults.objectForKey("item03") as? String
    //...
    self.item14.text = defaults.objectForKey("item14") as? String
    self.item15.text = defaults.objectForKey("item15") as? String

3 个答案:

答案 0 :(得分:0)

要将数字连接到字符串,您必须先将其转换:

"item"+String(num)

您还可以使用插值来创建字符串中包含其他值的字符串:

"item\(num)"

但也许这里最好的方法是使用0填充格式化字符串:

 String(format: "item%02d", num)

答案 1 :(得分:0)

以下是自动生成数组的方法:

var arr = [String]()
for i in 1...1000 {
    arr.append(String(format: "item%02d", i))
}
arr // ["item01", "item02", "item03", ...]

答案 2 :(得分:-1)

/* Number Incrementing */    
var number = 1

/* Array of Items */
let itemsArray = [item01, item02, item03...]

/* Get User Defaults */
let defaults = NSUserDefaults.standardUserDefaults()

for item in itemsArray {

    if number < 10 {
        item.text = defaults.objectForKey("item0\(number)") as? String
    } else {
        item.text = defaults.objectForKey("item\(number)") as? String
    }
    number++
}