二进制运算符“ .. <”不能应用于类型为“ Int”和“ Int?”的操作数

Siv*_*iva -1 swift swift4

将Objective-C转换为Swift后出现错误。谢谢

var gymdays = GymHours.orderedDays()
for i in 0..<gymdays?.count {

}
Run Code Online (Sandbox Code Playgroud)

错误画面

我的Objective-C代码:

NSArray *days = [GymHours orderedDays];
for (uint i = 0; i < days.count; i++) {

}
Run Code Online (Sandbox Code Playgroud)

Cod*_*der 5

真的吗 是可选的,因此XCode告诉您您正在尝试使用可能存在或可能不存在的值。

如果值为nil,可以使用以下命令避免崩溃:

for i in 0..<(gymdays?.count ?? 0) {

}
Run Code Online (Sandbox Code Playgroud)