Au cas où quelqu'un d'autre penserait, comme moi, que tout est correct dans votre code, vérifiez que vous n'avez pas remplacé par erreur l'élément :
par un =
.
Voici ce que j'avais. Il me donnait également la même erreur que ci-dessus :
protocol PenguinDelegate: class {
func userDidTapThePenguin()
}
class MyViewController: UIViewController {
weak var delegate = PenguinDelegate?
}
Mais la manière correcte est :
protocol PenguinDelegate: class {
func userDidTapThePenguin()
}
class MyViewController: UIViewController {
weak var delegate: PenguinDelegate?
}
Vous voyez la différence ? Il m'a fallu un certain temps pour voir que j'avais un signe égal au lieu de deux points. Notez également que j'ai obtenu d'autres erreurs pour la même ligne, car j'avais décidé que ma première erreur était la plus susceptible d'être le vrai problème :
- weak
ne peut être appliqué qu'à des types de protocoles de classe et liés à une classe.
:-<
8 votes
weak
ne concerne que le comptage de référence et seules les classes sont comptées par référence.