126 votes

#import en utilisant les crochets <> et les guillemets ""

Je me demande ce qu'il décide si vous êtes autorisé à l'utiliser <Header.h> ou "Header.h" lorsque vous importez des fichiers en Objective-C. jusqu'à présent, mon observation a été que vous utilisez les guillemets "" pour les fichiers dans votre projet que vous avez de la mise en œuvre de la source, et les crochets <> lorsque vous faites référence à une bibliothèque ou d'un cadre.

Mais comment fonctionne exactement ce que le travail? Qu'aurais-je à faire pour obtenir mes propres classes à utiliser les crochets? Maintenant Xcode ne me permet pas de le faire pour mon propre en-têtes.

Aussi, en regardant dans certains cadres des en-têtes, je vois que les en-têtes de référence les uns les autres avec <frameworkname/file.h>. Comment le fait que le travail? Il ressemble beaucoup de packages en Java, mais autant que je sache, il n'y a pas une telle chose comme un paquet en Objective-C.

126voto

Mark Pim Points 5910

Objective-C a ceci en commun avec le C/C++; la cité formulaire est pour les "locaux" comprend des fichiers (vous devez spécifier le chemin relatif du fichier en cours, par exemple, #include "headers/my_header.h"), tandis que l'angle du support de forme est "global" comprend: ceux trouvé quelque part sur le chemin de l'passés au compilateur (par exemple, #include <math.h>).

Afin d'avoir vos propres en-têtes utiliser < > pas " " vous avez besoin pour passer le parent ou le chemin d'accès absolu pour votre en-tête de répertoire pour le compilateur. Voir "Comment ajouter un mondial de chemin de Xcode" pour plus d'informations sur la façon de le faire dans Xcode.

Voir cette page MSDN pour plus d'info.

16voto

stefanB Points 27796

C la convention est que des fichiers d’en-tête dans le support de sont recherchées dans les répertoires « system » et « » à l’utilisateur ou les annuaires locaux.

La définition de système et locale est un peu vague, que je suppose. Selon moi, qu'il ressemble dans les répertoires système de chemin d’accès include ou j’ai au compilateur est cherché dans CPPFLAGS pour et répertoire local ou le répertoire spécifié avec - fichiers « header.h ».

Je suppose que cela fonctionne de la même façon pour Objective-C.

6voto

Rodrigo Reis Points 336

Pour importer vos classes onw à l’aide de «  », vous devez mettre les fichiers d’en-tête (* .h) dans le dossier lib de compilateur ou ensemble un ponting de VARIABLES système dans votre dossier lib.

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