swi*_*ynx 1 types class ios swift
我有自己的小班:
class EPPercent {
init(_: CGFloat) {
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想将此类的元素转换为CGFloat:
var percent: Any = 0
percent = EPPercent(100)
var toCGFloat = CGFloat(percent)
Run Code Online (Sandbox Code Playgroud)
这给出了一个错误:
"无法使用类型'(EPPercent)'的参数列表调用类型'CGFloat'的初始值设定项"
我该怎么做呢?
谢谢您的帮助 ;)
您可以创建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)
Run Code Online (Sandbox Code Playgroud)
如果您遇到任何问题,请告诉我.