C'est un extension de classe . Vous pouvez l'utiliser pour faire des déclarations que vous ne voulez pas voir figurer dans le fichier d'aide. .h
fichier.
Cette méthode était utilisée par de nombreux développeurs, même avant, qui ajoutaient manuellement l'extension dans le fichier .m
fichier. Je suppose donc qu'Apple a inclus ce point dans le modèle parce qu'il est largement utilisé et considéré comme une bonne pratique.
En fait, le .h
ne doit être utilisé que pour faire des déclarations qui seront utilisées dans d'autres fichiers. Vous pouvez être amené à déclarer des propriétés, des méthodes ou des constantes qui ne seront utilisées qu'à l'intérieur du fichier .m
fichier. Pour ces déclarations, il est préférable de les faire dans l'extension de la classe.
Donc, pour répondre à vos questions :
- Cette @interface ... supplémentaire est-elle nécessaire si j'ai un fichier .h séparé ?
Non, ce n'est pas obligatoire mais c'est une bonne pratique.
- Pourquoi cela n'apparaissait-il pas dans les projets antérieurs à iOS 5 ?
Même s'il s'agit d'une pratique courante, elle n'a pas été incluse dans le modèle.
- Puis-je l'utiliser au lieu d'avoir un fichier .h séparé ?
Non. L'extension de classe ne remplace pas l'extension de classe. .h
où vous devez déclarer l'élément "public" de votre classe.
- Quelle est la meilleure pratique pour l'avenir ?
Vous devez placer dans l'extension de classe toutes les déclarations qui n'ont pas besoin d'être visibles en dehors de la classe .m
fichier.