[英]Convert custom type to CGFloat in swift
I have my own little class: 我有自己的小课:
class EPPercent {
init(_: CGFloat) {
}
}
Now I want to convert an element of this class to CGFloat: 现在,我想将此类的元素转换为CGFloat:
var percent: Any = 0
percent = EPPercent(100)
var toCGFloat = CGFloat(percent)
This gives an Error: 这给出了一个错误:
"Cannot invoke initializer for type 'CGFloat' with an argument list of type '(EPPercent)'" “无法为类型为'(EPPercent)'的参数列表调用类型'CGFloat'的初始化程序”
How do I do this? 我该怎么做呢?
Thank you for your help ;) 谢谢您的帮助 ;)
You can create an extension
of CGFloat
and create a custom initializer that accepts an EPPercent
instance. 您可以创建CGFloat
的extension
,并创建一个接受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)
Let me know in case you face any issues. 如果您遇到任何问题,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.