如何将此块转换为swift 3
let row = textField.tag
if row >= arrayOfLinks.count {
for var addRow = arrayOfLinks.count; addRow <= row; addRow += 1 {
arrayOfLinks.append("")
}
}
由于
答案 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
个元素的总数(现有+新)。