我使用XLForm
,它有一个类XLFormDescriptor
,需要用init(title: String)
进行初始化。使用Swift初始化属性时遇到问题
我想要使用的标题是我当前类的名称函数的返回值(类级属性不是一个功能)。
在类级别把这个,代码来设置它看起来像这样:
let settingsForm = XLFormDescriptor(title: self.name())
但这给出了错误:
'PanelController ->() -> PanelController!' does not have a member named 'name'
在类的init的顶部把此看起来像这样:
let settingsForm: XLFormDescriptor
override init() {
self.settingsForm = XLFormDescriptor(title: self.dynamicType.name())
super.init()
}
而这样做会产生此错误:
'self' used before super.init call
把它super.init()后,给出了这样的错误:
Property 'settingsForm' not initialized at super.init call
任何想法如何我都不可能做到这一点?
编辑:一种解决方法是这样:
let settingsForm = XLFormDescriptor(title: "")
override init() {
super.init()
self.settingsForm = XLFormDescriptor(title: self.dynamicType.name())
}