// // SPSpeedModel.swift // ShortPlay // // Created by 曾觉新 on 2025/4/10. // import UIKit class SPSpeedModel: NSObject { enum Speed: String { case x0_5 = "0.5x" case x1 = "1.0x" case x1_25 = "1.25x" case x1_5 = "1.5x" case x1_75 = "1.75x" case x2 = "2.0x" func getRate() -> Float { switch self { case .x0_5: return 0.5 case .x1: return 1 case .x1_25: return 1.25 case .x1_5: return 1.5 case .x1_75: return 1.75 case .x2: return 2 } } } static func getAllSpeed() -> [SPSpeedModel] { return [ SPSpeedModel(speed: .x0_5), SPSpeedModel(speed: .x1), SPSpeedModel(speed: .x1_25), SPSpeedModel(speed: .x1_5), SPSpeedModel(speed: .x1_75), SPSpeedModel(speed: .x2) ] } var speed: Speed = .x1 init(speed: Speed) { super.init() self.speed = speed } func getRate() -> Float { return speed.getRate() } func formatString() -> String { switch speed { case .x0_5: return "0.5x" case .x1: return "1.0x" case .x1_25: return "1.25x" case .x1_5: return "1.5x" case .x1_75: return "1.75x" case .x2: return "2.0x" } } }