如何在 Swift 的嵌套 for 循环中访问父索引?

How can I access the parent index in a nested for loop in Swift?

我在 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"
    }
}

规则非常简单:内部作用域可以看到外部作用域中的所有内容除非通过在内部作用域中重新声明相同的名称来掩盖它们。所以如果你希望能够看到外部作用域名称,不要在内层作用域中重新声明它。