web-dev-qa-db-fra.com

Quelle est la signification des marques #pragma? Pourquoi avons-nous besoin de marques #pragma?

Quel est le but des marques #pragma dans Xcode? Est-ce que leur emplacement dans les fichiers .m est important? Certains #pragma doivent-ils précéder tous les autres?

  • Doivent-ils être présents?
  • Peut-on ajouter de nouvelles marques? Pourquoi seraient-ils? Quelles sont les causes?
  • Y at-il un mal à faire enlever une marque? En voudrait-on un jour?
272
JAM

Les directives #pragma mark apparaissent dans Xcode dans les menus pour un accès direct aux méthodes. Ils n'ont aucun impact sur le programme.

Par exemple, en l'utilisant avec Xcode 4, ces éléments apparaîtront directement dans la barre de saut.

Il y a un pragma mark - spécial qui crée une ligne.

enter image description here

310
Erre Efe

#pragma mark est utilisé pour baliser le groupe de méthodes afin que vous puissiez facilement trouver et détecter des méthodes à partir de la barre de saut. Cela peut vous aider lorsque vos fichiers de code atteignent environ 1 000 lignes et que vous souhaitez rechercher rapidement des méthodes dans la catégorie de la boîte de dialogue Saut.

Dans un long programme, il devient difficile de se rappeler et de trouver un nom de méthode. Donc marque de pragma vous permet de classer les méthodes en fonction de leur travail. Par exemple, vous avez balisé certaines balises pour les méthodes de protocole Vue tableau, les méthodes AlertView, les méthodes Init, la déclaration, etc.

#pragma mark est l'installation de XCode mais cela n'a aucun impact sur votre code. Cela contribue simplement à faciliter la recherche de méthodes lors du codage.

53
dayitv89

Dans Word simple, nous pouvons dire que #pragma mark - est utilisé pour classer les méthodes, afin que vous puissiez trouver facilement vos méthodes. C'est très utile pour les longs projets.

20
Gamer

Juste pour ajouter les informations que je cherchais: pragma mark est spécifique à Xcode. Ainsi, si vous traitez avec un projet C++ que vous ouvrez dans différents IDE, cela n’aura aucun effet. Dans Qt Creator, par exemple, il n’ajoute pas de catégories pour les méthodes, ni ne génère d’avertissements/d’erreurs.

EDIT

#pragma est une directive de préprocesseur issue du langage de programmation C. Son but est de spécifier des informations dépendantes de l'implémentation au compilateur - en d'autres termes, chaque compilateur peut choisir d'interpréter cette directive à sa guise. Cela dit, il s'agit plutôt d'une extension qui ne change pas/n'influence pas le code lui-même. Donc, les compilateurs peuvent aussi bien l’ignorer.

Xcode est un IDE qui tire parti de #pragma et l'utilise à sa manière. Le problème est que #pragma n'est pas spécifique à Xcode et même à Objective-C.

13
Maxim Chetrusca

Lorsque nous avons une classe volumineuse/longue, disons plus de 100 lignes de code, nous ne pouvons pas tout voir à l'écran, par conséquent, nous ne pouvons pas voir l'aperçu (également appelé élément 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 avoir un aperçu de votre classe. Vous obtiendrez une sorte de fenêtre pop-up appelée Jump Bar.

Par défaut, cette barre de saut ne comporte pas de compartiments/sections. C'est juste une longue liste. (Bien que nous puissions commencer à taper lorsque la barre de saut apparaît et que la recherche se fera 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. Maintenant, reportez-vous à l'instantané ci-joint. Il existe 'View LifeCycle' et 'Une section dédiée ..' sont des sections créées par pragma marks

11
Saurabh Hooda

En cherchant des documents sur la façon dont pragma sont des directives pour le compilateur, j'ai trouvé ceci article de NSHipster qui fait très bien le travail.

J'espère que vous apprécierez la lecture

9
teriiehina
#pragma mark - NSSecureCoding

Le but principal de "pragma" est de référencer le développeur . enter image description here

Vous pouvez facilement trouver une méthode/fonction dans des milliers de lignes de codage.

5
Jeba Moses