Swift3.2でこうしたいのにできない....
let text = "12.4"
let num = CGFloat(text)
できるようにした
import UIKit
extension CGFloat{
init(_ str:String? = nil){
guard
let s = str,
let n = NumberFormatter().number(from: s) else {
self = 0.0
return
}
self = CGFloat(n)
}
}
そんだけ。
なんか、こんなの用意しなくてもできそうな気がするけど、、、
追記
@koherさん
@loveeさん
のアドバイスにより、上のクソみたいなのより、こっちが良さそうってことが分かったよ!
extension CGFloat {
init?<S>(_ text: S) where S : StringProtocol {
guard let number = Double(text) else { return nil }
self.init(number)
}
}