У меня есть класс скорSwift инициализации сохраняется свойство метода вне инициализации класса выпуска
class ApplicationManager {
var fanMode: FanMode
init()
{
self.applyDefaultSettings()
}
func applyDefaultSettings()
{
if let unwrappedFanMode = userDefaults.valueForKey(Consts.kStoredFanMode) as? FanMode {
self.fanMode = unwrappedFanMode
}
}
}
Код выше бросает этот вопрос:
Use of 'self' in method call 'applyDefaultSettings' before all stored properties are initialized
Что я должен делать здесь? Так как сообщение говорит, что мне нужно инициализировать все сохраненные свойства, прежде чем я вызову любой другой метод класса. Таким образом, это означает, что в методе init я должен инициализировать как минимум свойство fanMode. Но я хочу иметь метод, который применяет настройки по умолчанию для моих свойств для обеспечения простой читаемости и чистой архитектуры кода. Но, возможно, нормально использовать инициализатор класса для инициализации всех необходимых полей.
Посмотрите, в вашем коде логическая ситуация, когда fanMode будет неинициализирован. –