Cómo analizar cadena a NSTimeInterval

¿Cómo analizar el valor de cadena como 12:02:21.3213 a NSTimeInterval ? NSDateComponentsFormatter , disponible desde iOS8, admite solo el formatting, no el análisis.

Así es como puedes hacerlo en Swift:

 func parseDuration(timeString:String) -> NSTimeInterval { guard !timeString.isEmpty else { return 0 } var interval:Double = 0 let parts = timeString.componentsSeparatedByString(":") for (index, part) in parts.reverse().enumerate() { interval += (Double(part) ?? 0) * pow(Double(60), Double(index)) } return interval } 

Funciona para valores como 2:12:12 , 02:01:23.123213

La solución provista por Bartosz Hernas me funcionó, ¡gracias!

Para mayor comodidad, aquí es para Swift 3 :

 func parseDuration(_ timeString:String) -> TimeInterval { guard !timeString.isEmpty else { return 0 } var interval:Double = 0 let parts = timeString.components(separatedBy: ":") for (index, part) in parts.reversed().enumerated() { interval += (Double(part) ?? 0) * pow(Double(60), Double(index)) } return interval }