我使用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())
}