我在 Swift 中有以下嵌套的 for 循环:
for (index,sentenceObject) in enumerate(sentenceObjectsArray) {
let sentence = sentenceObject as Sentence
let sentenceIndex = index
let wordObjectsArray = sentence.words
for (index,word) in enumerate(wordObjectsRLMArray) {
println(sentenceIndex) // Here I would like to access the parent
// for loop's index.
}
}
如何访问父 for 循环的索引?
最佳答案
将内部 index
命名为其他名称,例如 indexInner
。现在名称 index
没有被遮挡,您可以引用它。
for (index,sentenceObject) in enumerate(sentenceObjectsArray) {
let sentence = sentenceObject as Sentence
let sentenceIndex = index
let wordObjectsArray = sentence.words
for (indexInner,word) in enumerate(wordObjectsRLMArray) {
println(index)
// "index" here means the outer loop's "index"
}
}
规则非常简单:内部作用域可以看到外部作用域中的所有内容,除非通过在内部作用域中重新声明相同的名称来掩盖它们。因此,如果您希望能够看到外部作用域名称,请不要在内部作用域中重新声明它。
关于ios - 如何在 Swift 的嵌套 for 循环中访问父索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28587976/