我有自己的小课:
class EPPercent {
init(_: CGFloat) {
}
}
现在我想将此类的元素转换为CGFloat:
var percent: Any = 0
percent = EPPercent(100)
var toCGFloat = CGFloat(percent)
这会导致错误:
“无法使用类型为((EPPercent))的参数列表来调用类型为'CGFloat'的初始化程序”
我该怎么做?
谢谢您的帮助;)
答案 0 :(得分:5)
您可以在extension
中创建一个CGFloat
,并创建一个接受EPPercent
实例的自定义初始化程序。
class EPPercent {
let value: CGFloat
init(_ value: CGFloat) {
self.value = value
}
}
extension CGFloat {
init(_ percent: EPPercent) {
self = percent.value
}
}
var percent = EPPercent(100)
var toCGFloat = CGFloat(percent)
如果您遇到任何问题,请告诉我。