76 votes

XCode: Copier les en-têtes: Public vs. Privé vs. Projet?

Je construis une bibliothèque statique Cocoa Touch. Comment devrais-je décider de copier un fichier d'en-tête en tant que public, privé ou projet?

122voto

Randy Marsh Points 3229

Public: L'interface est finalisé et destiné à être utilisé par votre produit de nos clients. Un public d'en-tête est inclus dans le produit en tant que code source lisible par sans restriction.

Privé: L'interface n'est pas destiné à vos clients ou c'est dans les premiers stades de développement. Privé d'en-tête est inclus dans le produit, mais il est marqué "privé". Ainsi, les symboles sont visibles à tous les clients, mais les clients doivent comprendre qu'ils ne sont pas censés les utiliser.

Projet: L'interface est pour une utilisation uniquement par les fichiers de mise en œuvre du projet en cours. Un projet d'en-tête n'est pas inclus dans la cible, à l'exception de code objet. Les symboles ne sont pas visibles pour les clients à toutes, seulement pour vous.

Source: Xcode Developer Library > Outils & Langues > IDEs > Projet d'Aide de l'Éditeur > Réglage de la Visibilité d'un Fichier d'en-Tête

26voto

William Power Points 335

Randy réponse est bonne et vous donne toute l'information. Je voulais ajouter quelques infos pour vous aider basé sur la façon dont vous vous attendez de votre bibliothèque sera utilisé.

PROJET: Si vous distribuez votre projet, et de permettre aux utilisateurs d'inclure votre projet en tant que sous-projet dans leur propre, vous devez vous assurer que vos en-têtes sont marqués en tant que "projet". Ne pas le faire entraînera des problèmes comme ceci: Xcode 4 Archive De La Version Non Spécifié

Notez que cela s'applique à chaque sous-projet...y compris les sous-projets, sous-projets, de manière récursive.

PUBLIC: Si vous prévoyez d'utilisateurs de votre bibliothèque pour seul lien à l'encontre de votre objet (et PAS de votre projet d'origine), assurez-vous que votre les en-têtes sont marqués en tant que "public" (uniquement pour les en-têtes qu'ils vont avoir besoin de le consulter).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X