我如何将此转换为swift 3

时间:2017-01-03 12:56:32

标签: swift3

如何将此块转换为swift 3

let row = textField.tag
if row >= arrayOfLinks.count {
   for var addRow = arrayOfLinks.count; addRow <= row; addRow += 1 {
       arrayOfLinks.append("")
   }
}

由于

3 个答案:

答案 0 :(得分:2)

根本不需要C风格的for循环

let row = textField.tag
while arrayOfLinks.count <= row {
    arrayOfLinks.append("")
}

答案 1 :(得分:0)

试试这个:

let row = textField.tag
if row >= arrayOfLinks.count {
   var addRow = arrayOfLinks.count
   while addRow <= row {
       arrayOfLinks.append("")
       addRow += 1
   }
}

答案 2 :(得分:0)

由于您反复追加相同(值)元素,因此不需要在此处使用循环,但只需将集合附加到现有的arrayOfLinks数组:

if arrayOfLinks.count <= row {
    arrayOfLinks.append(contentsOf:
        [String](repeating: "", count: row - arrayOfLinks.count + 1))
}

这也应该比重复附加(相同值)元素更具性能,但这不应该是一个问题。

另请注意(根据您的原始解决方案)row值,例如: 10会在11数组中产生numberOfEntries个元素的总数(现有+新)。