Я использую XLForm
, который имеет класс XLFormDescriptor
, который должен быть инициализирован init(title: String)
.Не удалось инициализировать свойство с помощью Swift
Название, которое я хочу использовать, - это возвращаемое значение функции имени моего текущего класса (свойства уровня класса еще не являются функцией).
Сведя на уровне класса, код, чтобы настроить его внешний вид, как это:
let settingsForm = XLFormDescriptor(title: self.name())
Но это дает ошибку:
'PanelController ->() -> PanelController!' does not have a member named 'name'
Собираем это в верхней части инициализации в класса вызов выглядит следующим образом:
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
Любые идеи, как я могу возможно сделать это?
EDIT: Обойти это сделать это:
let settingsForm = XLFormDescriptor(title: "")
override init() {
super.init()
self.settingsForm = XLFormDescriptor(title: self.dynamicType.name())
}