Essentiellement, il indique au compilateur que la classe RootViewController
existe, sans préciser de quoi elle ressemble (c'est à dire: ses méthodes, propriétés, etc). Vous pouvez l'utiliser pour écrire du code qui inclut RootViewController
variables de membre sans avoir à inclure l'intégralité de la déclaration de classe.
Ceci est particulièrement utile dans la résolution des dépendances circulaires, permettant par exemple de dire ClassA
a un membre de type ClassB*
, et ClassB
a un membre de type ClassA*
. Vous devez disposer d' ClassB
déclaré avant de pouvoir l'utiliser en ClassA
, mais du même coup, vous avez besoin d' ClassA
déclaré avant de pouvoir l'utiliser en ClassB
. Avant les déclarations de vous permettre de surmonter cela en disant à l' ClassA
que ClassB
existe, sans avoir à spécifier ClassB's
spécification complète.
EDIT: Une raison, vous avez tendance à trouver beaucoup de déclarations de certaines personnes à adopter une convention de déclarer des classes, sauf s'ils doivent absolument inclure l'intégralité de la déclaration. Je ne suis pas entièrement de rappel, mais peut-être que c'est quelque chose que Apple recommande, c'est l'Objective-C directrices de style de lignes directrices.
En continuant mon exemple ci-dessus, si vos déclarations d' ClassA
et ClassB
sont dans les fichiers ClassA.h
et ClassB.h
, respectivement, vous auriez besoin d' #import
selon l'une pour l'utilisation de sa déclaration dans l'autre classe. À l'aide de l'avant de la déclaration signifie que vous n'avez pas besoin de l' #import
, ce qui rend le code plus jolie (en particulier une fois que vous commencez la collecte de quelques classes, dont chacune aurait besoin d'un " #import où il est utilisé), et augmente la compilation de la performance en minimisant la quantité de code que le compilateur a besoin de prendre en compte lors de la compilation d'un fichier donné.