Ich erhalte die folgende Fehlermeldung, wenn ich Code für eine Erweiterung verwende. Ich bin mir nicht sicher, ob sie nur einen anderen Operator verwenden oder die Werte im Ausdruck basierend auf einer Internetsuche ändern möchten.
Fehler:% ist nicht verfügbar: Verwenden Sie stattdessen truncatingRemainder
Erweiterungscode:
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)
}
}
}
Die Fehler treten beim Einstellen der Minuten- und Sekundenvariablen auf.
%
Operator nicht verfügbar ist und Sie truncatingRemainder
stattdessen die Methode in Betracht ziehen sollten .
Float64
sondern Int
nur. deshalb: let minutes:Int = Int(totalSeconds) % 3600 / 60; let seconds:Int = Int(totalSeconds) % 60
ist der richtige weg.