У меня есть контроллер представления, который показывает детали моей сущности "SkillGroup". Я хочу использовать это как для просмотра, так и для редактирования / создания «SkillGroup». Таким образом, у меня есть необязательная переменная skillGroup, которая либо не задана, либо равна нулю, когда вы впервые создаете SkillGroup и перед ее сохранением, ИЛИ она установлена, и вы будете просто просматривать SkillGroup. Вот мой код
class GroupViewController:UIViewController {
var skillGroup: SkillGroup?
override func viewDidLoad() {
super.viewDidLoad()
if let skillGroup = skillGroup {
self.title = skillGroup.name
}
}
}
и в предыдущем контроллере представления:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "createGroupSegue" {
let destination = segue.destination as? GroupViewController
destination?.createOrEdit = true
}
if segue.identifier == "showGroupSegue" {
if let selectedGroupPath = self.groupsTableView.indexPathForSelectedRow {
let destination = segue.destination as? GroupViewController
destination?.createOrEdit = false
let group = groups[selectedGroupPath.row]
destination?.skillGroup = group
}
}
}
Если я устанавливаю точку останова сразу после вызова super и проверяю skillGroup, он говорит: <uninitialized>
. Я не думаю об этом, потому что это «nil» как обычная необязательная переменная, которая не была установлена. Кроме того, я установил переменную skillGroup в коде подготовки к переходу.
Я действительно не могу найти много информации о том, что означает. Может ли кто-нибудь помочь мне здесь?