不能用 'ClassName.StructName' 类型的索引下标 '[ClassName.StructName]' 类型的值



我遇到了这个问题,还没有找到任何解决方案。

结构

struct hourSlot{
        lazy var timeWorkingString = "(startTimeStructString) -  (endTimeStructString)"
        var startTimeStructString = "null"
        var endTimeStructString:String = "null"
        (Some logic here)
}

这里的问题:

不能将类型为"[WorkTimeModifer.hourSlot]"的值下标,并带有 "工作时间移动器.小时槽"类型的索引

var hoursArray = [hourSlot]()
func updateTable(){
        for index in hoursArray{
            let timeFinal:String = hoursArray[index].timeWorkingString
        }
}

提前致谢

当你下标数组时,你需要使用Int类型,而不是索引这里它是hourSlot类型

for item in hoursArray {
    let timeFinal = item.timeWorkingString
}

for (index,item) in hoursArray.enumerated() {
    let timeFinal = hoursArray[index].timeWorkingString
}