Si j'implémente ma propre version de awakeFromNib
Je dois appeler [super awakeFromNib]
à la fin de ma méthode ?
Réponses
Trop de publicités?
awakeFromNib
pour UIKit (iOS) :
Vous devez appeler la super implémentation de awakeFromNib pour donner aux classes parentes la possibilité d'effectuer toute initialisation supplémentaire dont elles ont besoin. Bien que l'implémentation par défaut de cette méthode ne fasse rien, de nombreuses classes UIKit fournissent des implémentations non vides. Vous pouvez appeler la super implémentation à tout moment au cours de votre propre méthode awakeFromNib.
awakeFromNib
pour AppKit (Mac) :
(ce n'est plus vrai, si vous utilisez OS X 10.6 ou plus)
Vous ne devez appeler l'implémentation super de awakeFromNib que si vous êtes certain que votre superclasse fournit une implémentation. Comme le kit d'application ne fournit pas d'implémentation par défaut de la méthode awakeFromNib, l'appel de super entraîne une exception si la classe parente ne l'implémente pas. Les classes dont la classe parente immédiate est NSObject ou NSView n'ont pas besoin d'appeler l'implémentation de super. Pour toutes les autres classes, vous pouvez utiliser la méthode instancesRespondToSelector : class de NSObject pour déterminer si la classe parente répond à awakeFromNib et appeler la méthode si c'est le cas.
La documentation couvre cela parfaitement.
Si vous vouliez poser une question sur Cocoa Touch, vous n'avez pas cette chance : la documentation de UIKit ne répond pas à la question de manière définitive, à ma connaissance. Le mieux que je puisse suggérer est de suivre les mêmes règles que pour Cocoa.