当我使用扩展代码时,出现以下错误,根据互联网搜索,我不确定他们是要求只使用不同的运算符还是修改表达式中的值。
错误:%不可用:请改用truncatingRemainder
扩展代码:
extension CMTime {
var durationText:String {
let totalSeconds = CMTimeGetSeconds(self)
let hours:Int = Int(totalSeconds / 3600)
let minutes:Int = Int(totalSeconds % 3600 / 60)
let seconds:Int = Int(totalSeconds % 60)
if hours > 0 {
return String(format: "%i:%02i:%02i", hours, minutes, seconds)
} else {
return String(format: "%02i:%02i", minutes, seconds)
}
}
}
设置分钟和秒数变量时发生错误。
%
运算符不可用,您应该考虑使用类似于truncatingRemainder
方法的东西代替。 - mattFloat64
上使用模运算,只能在Int
上使用;因此,let minutes:Int = Int(totalSeconds) % 3600 / 60; let seconds:Int = Int(totalSeconds) % 60
是正确的方式。 - holex