У меня есть viewController, который имеет три режима / три режима.
Имеется режим «Создать нового человека», режим «Показать человека» и, наконец, режим «Редактировать человека».Это все работает нормально - но я не могу установить навигационный файл bar.title в соответствии с режимом / случаем.
Вот соответствующий код:
private func modeUpdate() {
let createNewPerson:[NSAttributedString.Key: Any] = [NSAttributedString.Key(rawValue: NSAttributedString.Key.foregroundColor.rawValue):UIColor.blue, NSAttributedString.Key(rawValue: NSAttributedString.Key.font.rawValue):UIFont(name:"Create New Person", size: 17)!]
let showPerson:[NSAttributedString.Key: Any] = [NSAttributedString.Key(rawValue: NSAttributedString.Key.foregroundColor.rawValue):UIColor.blue, NSAttributedString.Key(rawValue: NSAttributedString.Key.font.rawValue):UIFont(name:"", size: 17)!]
let editPerson:[NSAttributedString.Key: Any] = [NSAttributedString.Key(rawValue: NSAttributedString.Key.foregroundColor.rawValue):UIColor.blue, NSAttributedString.Key(rawValue: NSAttributedString.Key.font.rawValue):UIFont(name:"Edit Person", size: 17)!]
switch mode {
case .create:
actionButton.title = "Save"
personName.isEditable = true
navigationController?.navigationBar.titleTextAttributes = createNewPerson
question.isEditable = false
personAnswer.isEditable = true
extraIdentifier.isEditable = false
extraIdentifierAnswer.isEditable = true
case .show:
actionButton.title = "Edit"
navigationController?.navigationBar.titleTextAttributes = showPerson
personName.isEditable = false
question.isEditable = false
personAnswer.isEditable = false
extraIdentifier.isEditable = false
extraIdentifierAnswer.isEditable = false
case .edit:
actionButton.title = "Save"
navigationController?.navigationBar.titleTextAttributes = editPerson
personName.isEditable = true
question.isEditable = false
personAnswer.isEditable = true
extraIdentifier.isEditable = false
extraIdentifierAnswer.isEditable = true
}
}
Все это компилируется, но когда я вхожу в одно из трех случаев на моем устройстве, я получаю: 'Тема 1: Неустранимая ошибка: Неожиданно найденnil при развертывании необязательного значения 'on the line' let createNewPerson: [NSAttributed .... '
Кто-нибудь знает, почему это происходит?
Спасибо!