Во-первых, TimeInterval
- это в точности Double
(это просто typealias). Это полезно знать, если вы ожидаете какой-либо специализации о TimeInterval
. Там нет ни одного.
В вашем случае, однако, pausedTime
не является TimeInterval
. Это TimeInterval?
. Вы, вероятно, вызываете перегрузку encode(Any?, forKey:)
, и это, вероятно, помещает ваш двойник в NSNumber
.
Чтобы это исправить, вы должны убедиться, что кодируете Double
. Например:
if let pausedTime = pausedTime {
aCoder.encode(pausedTime, forKey: "Pause")
}
или
aCoder.encode(pausedTime ?? 0.0, forKey: "Pause")