无法转换类型的值' NSNull'预期的参数类型

时间:2018-05-09 10:15:02

标签: ios swift swift4

我在Objective-C到Swift代码更改期间遇到错误。感谢

var sortedHours = gymDetail.hours.sorted(by: { ($0.startTime < $1.startTime) })
let gymdays = GymHours.orderedDays()
for i in 0..<(gymdays.count) {
    var pad = false
    if i >= sortedHours.count {
        pad = true
    } else {
        let hours = sortedHours[i]
        print(GymHours.orderedDays()[i])
        if  (hours.day == GymHours.orderedDays()[i] as! String) {
            pad = true
        }
    }
    if pad {
        sortedHours.insert(nil, at: i)
    }
}

我的错误屏幕error

我的Objective-C代码:

[sortedHours insertObject:[NSNull null] atIndex:i];

1 个答案:

答案 0 :(得分:0)

此数组sortedHours不是可选值

尝试此代码

 var sortedHours: [GymHours?] = gymDetail.hours.sorted(by: { ($0.startTime < $1.startTime) })
            let gymdays = GymHours.orderedDays()
            for i in 0..<(gymdays.count) {
                var pad = false
                if i >= sortedHours.count {
                    pad = true
                } else {
                    let hours = sortedHours[i]
                    print(GymHours.orderedDays()[i])
                    if  (hours.day == GymHours.orderedDays()[i] as! String) {
                        pad = true
                    }
                }
                if pad {
                    sortedHours.insert(nil, at: i)
                }
            }