J'ai un contrôleur de vue qui affiche les détails de mon entité "SkillGroup". Je veux l'utiliser à la fois pour afficher et modifier/créer un "SkillGroup". J'ai donc une variable facultative skillGroup qui est soit non définie - et nulle lorsque vous créez le SkillGroup pour la première fois et avant de le sauvegarder, soit définie et vous ne ferez que visualiser le SkillGroup. Voici mon code
class GroupViewController:UIViewController {
var skillGroup: SkillGroup?
override func viewDidLoad() {
super.viewDidLoad()
if let skillGroup = skillGroup {
self.title = skillGroup.name
}
}
}
et dans le contrôleur de vue précédent :
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
}
}
}
Si je place un point d'arrêt juste après l'appel à super, et que j'inspecte skillGroup, il est dit que son <uninitialized>
. Je ne pense pas que ce soit le cas parce que c'est "nil" comme une variable optionnelle normale qui n'a pas été définie. De plus, j'ai défini la variable skillGroup dans le code de préparation de la transition.
Je n'arrive pas à trouver beaucoup d'informations sur ce que cela signifie. Quelqu'un peut-il m'aider ?