Как уже указывалось, лучший способ достичь этого - с прямым литьем:
(myString as NSString).doubleValue
Построим из этого, вы можете сделать плавное родное расширение Swift String:
extension String {
var doubleValue: Double {
return (self as NSString).doubleValue
}
}
Это позволяет вам прямо использовать:
myString.doubleValue
Который выполнит кастинг для вас. Если Apple добавит doubleValue
к родной String, вам просто нужно удалить расширение, а остальная часть вашего кода будет автоматически компилироваться.