À quoi servent les #pragma
marques dans Xcode? Leur emplacement dans les .m
fichiers est-il important? Certains devraient-ils #pragma
passer avant tous les autres?
- Doivent-ils être présents?
- Peut-on ajouter de nouvelles marques? Pourquoi le seraient-ils? Quelles sont les causes?
- Y a-t-il un mal à faire enlever une marque? Le voudrait-on jamais?
objective-c
xcode
pragma
James Raitsev
la source
la source
Réponses:
#pragma mark
les directives apparaissent dans Xcode dans les menus pour un accès direct aux méthodes. Ils n'ont aucun impact sur le programme.Par exemple, son utilisation avec Xcode 4 fera apparaître ces éléments directement dans la barre de saut.
Il y a un spécial
pragma mark -
qui crée une ligne.la source
#pragma mark
est utilisé pour baliser le groupe de méthodes afin que vous puissiez facilement trouver et détecter des méthodes dans la barre de saut. Cela peut vous aider lorsque vos fichiers de code atteignent environ 1 000 lignes et que vous souhaitez trouver rapidement des méthodes dans la catégorie de Jump box.Dans un programme long, il devient difficile de se souvenir et de trouver un nom de méthode. Donc, pragma mark vous permet de classer les méthodes en fonction de leur travail. Par exemple, vous avez marqué une balise pour les méthodes de protocole de vue de table, les méthodes AlertView, les méthodes d'initialisation, la déclaration, etc.
#pragma mark
est la facilité pour XCode mais cela n'a aucun impact sur votre code. Cela aide simplement à faciliter la recherche de méthodes lors du codage.la source
En un mot simple, nous pouvons dire qu'il
#pragma mark -
est utilisé pour classer les méthodes, afin que vous puissiez trouver facilement vos méthodes. Il est très utile pour les projets longs.la source
Juste pour ajouter les informations que je cherchais:
pragma mark
est spécifique à Xcode, donc si vous traitez un projet C ++ que vous ouvrez dans différents IDE, cela n'a aucun effet. Dans Qt Creator, par exemple, il n'ajoute pas de catégories pour les méthodes et ne génère aucun avertissement / erreur.ÉDITER
#pragma
est une directive de préprocesseur qui vient du langage de programmation C. Son but est de spécifier au compilateur des informations dépendant de l'implémentation - c'est-à-dire que chaque compilateur peut choisir d'interpréter cette directive comme il le souhaite. Cela dit, il est plutôt considéré comme une extension qui ne modifie / n'influence pas le code lui-même. Les compilateurs pourraient donc tout aussi bien l'ignorer.Xcode est un IDE qui en profite
#pragma
et l'utilise à sa manière. Le point est,#pragma
n'est pas Xcode et même spécifique à Objective-C.la source
Lorsque nous avons une classe grande / longue, disons plus de 100 lignes de code, nous ne pouvons pas tout voir sur l'écran du moniteur, donc nous ne pouvons pas voir la vue d'ensemble (également appelée éléments de document) de notre classe. Parfois, nous voulons voir un aperçu de notre classe; toutes ses méthodes, constantes, propriétés, etc. en un coup d'œil. Vous pouvez appuyer sur Ctrl + 6 dans XCode pour voir un aperçu de votre classe. Vous obtiendrez une sorte de fenêtre pop-up aka Jump Bar.
Par défaut, cette barre de saut n'a pas de seaux / sections. Ce n'est qu'une longue liste. (Bien que nous puissions simplement commencer à taper lorsque la barre de saut apparaît et il recherchera parmi les éléments de la barre de saut). Voici le besoin de
pragma mark
Si vous souhaitez créer des sections dans votre barre de saut, vous pouvez utiliser des marques de pragma avec une description appropriée. Reportez-vous maintenant à l'instantané ci-joint. Il 'Voir le cycle de vie' et 'Une section dédiée ..' sont des sections créées par
pragma mark
sla source
Lors de la recherche de doc pour indiquer à quel point pragma sont des directives pour le compilateur, j'ai trouvé cet article NSHipster qui fait assez bien le travail.
J'espère que vous apprécierez la lecture
la source
Le but principal de "pragma" est à titre de référence pour les développeurs.
Vous pouvez facilement trouver une méthode / fonction dans des milliers de lignes de codage.
Xcode 11+:
Ligne de marqueur en haut
Ligne de marqueur en haut et en bas
Ligne de marqueur uniquement en bas
la source