gpt4 book ai didi

ios - 使用 for-in 循环枚举

转载 作者:搜寻专家 更新时间:2023-11-01 06:08:10 25 4
gpt4 key购买 nike

我有一个循环会抛出一个错误“Int is not convertible to Range< Int >”:

var summaryValues:[Int]=[Int]();
for (dayIndex,valuesPerDay) in enumerate(allValuesPerDay){
if (valuesPerDay>0){
while summaryValues[dayIndex]==nil{ // ERROR
summaryValues.append(0);
}
summaryValues[dayIndex]++
}
}

第四行应该只是检查 summaryValues 是否有值。在位dayIndex ,但我对 Swift 语法有点不清楚。有想法该怎么解决这个吗?感谢阅读。

编辑:

我实现的解决方法是将错误行替换为 while cohortRetension.count<dayIndex+1但我还是想更好地理解为什么 summaryValues[dayIndex]不正确。

最佳答案

while summaryValues[dayIndex]==nil{ // ERROR

summaryValues 是一个数组,array[i] 不会返回 nil。它要么返回元素,要么在索引超出范围时崩溃。首先,编译器可能因比较 Intnil 而感到困惑。其次,尝试在此处访问 summaryValues[dayIndex] 会崩溃,因为在您检查它时数组为空且索引不存在。

关于ios - 使用 for-in 循环枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31995740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com