我是一名有用的助手,可以为您翻译文本。
我在工作中有一个小辩论:在遍历数组项之前,计算Swift数组的大小是否是一个好的实践?什么是更好的代码实践:
选项A:
我在工作中有一个小辩论:在遍历数组项之前,计算Swift数组的大小是否是一个好的实践?什么是更好的代码实践:
选项A:
func setAllToFalse() {
for (var i = 0; i < mKeyboardTypesArray.count; i++ ) {
self.mKeyboardTypesArray[i] = false
}
}
或选项B:
func setAllToFalse() {
let typesCount = mKeyboardTypesArray.count
for (var i = 0; i < typesCount; i++ ) {
self.mKeyboardTypesArray[i] = false
}
}
当然,这是在循环期间我不修改数组时的情况。
我查阅了文档,其中说明如下:
循环的执行顺序如下:
当第一次进入循环时,初始化表达式会被评估一次,以设置循环所需的任何常量或变量。条件表达式会被评估。如果它计算结果为 false,则循环结束,代码执行将继续在 for 循环的右括号(})之后。如果表达式计算结果为 true,则代码执行继续通过执行括号内的语句。在执行完所有的语句后,增量表达式将被评估。它可能会增加或减少计数器的值,或根据语句的结果将一个已初始化的变量设置为新值。在评估增量表达式后,执行返回到步骤2,并再次评估条件表达式。