Qual é o objetivo das #pragma
marcas no Xcode? A localização deles nos .m
arquivos é importante? Alguns devem #pragma
vir antes de todos os outros?
- Eles têm que estar presentes?
- Novas marcas podem ser adicionadas? Por que eles seriam? O que causa isso?
- Existe algum mal em remover uma marca? Alguém iria querer?
objective-c
xcode
pragma
James Raitsev
fonte
fonte
Respostas:
#pragma mark
diretivas aparecem no Xcode nos menus para acesso direto aos métodos. Eles não têm nenhum impacto sobre o programa.Por exemplo, usá-lo com o Xcode 4 fará com que esses itens apareçam diretamente na Barra de Atalhos.
Há um especial
pragma mark -
que cria uma linha.fonte
#pragma mark
é usado para marcar o grupo de métodos, para que você possa encontrar e detectar métodos facilmente na barra de salto. Isso pode ajudá-lo quando seus arquivos de código atingirem cerca de 1000 linhas e você desejar encontrar métodos rapidamente na categoria da caixa Ir.Em um programa longo, fica difícil lembrar e encontrar um nome de método. Portanto, a marca pragma permite categorizar métodos de acordo com o trabalho que eles fazem. Por exemplo, você marcou alguma tag para métodos de protocolo de exibição de tabela, métodos de AlertView, métodos de inicialização, declaração etc.
#pragma mark
é o recurso para o XCode, mas não tem impacto no seu código. Apenas ajuda a facilitar a localização de métodos durante a codificação.fonte
Em palavras simples, podemos dizer que
#pragma mark -
é usado para categorizar métodos, para que você possa encontrar seus métodos facilmente. É muito útil para projetos longos.fonte
Apenas para adicionar as informações que eu estava procurando:
pragma mark
é específico do Xcode, portanto, se você lida com um projeto C ++ que você abre em IDEs diferentes, ele não tem nenhum efeito lá. No Qt Creator, por exemplo, ele não adiciona categorias para métodos, nem gera avisos / erros.EDITAR
#pragma
é uma diretiva de pré-processador que vem da linguagem de programação C. Seu objetivo é especificar informações dependentes da implementação para o compilador - ou seja, cada compilador pode optar por interpretar essa diretiva como desejar. Dito isto, é considerada uma extensão que não altera / influencia o próprio código. Portanto, os compiladores podem ignorá-lo.O Xcode é um IDE que aproveita
#pragma
e o usa de maneira específica. O ponto é que#pragma
não é o Xcode e nem o Objective-C específico.fonte
Quando temos uma classe grande / longa, digamos que mais de 100 linhas de código não podemos ver tudo na tela Monitor, portanto, não podemos ver a visão geral (também chamada de itens de documento) da nossa classe. Em algum momento, queremos ver uma visão geral da nossa classe; todos os seus métodos, constantes, propriedades, etc, de relance. Você pode pressionar Ctrl + 6 no XCode para ver a visão geral da sua turma. Você obterá um tipo de janela pop-up, também conhecida como Jump Bar.
Por padrão, essa barra de salto não possui baldes / seções. É apenas uma longa lista. (Embora possamos começar a digitar quando a barra de salto aparecer e ela pesquisar entre os itens da barra de salto). Aí vem a necessidade de
pragma mark
Se você deseja criar seções na sua Barra de Atalhos, poderá usar marcas de pragma com a descrição relevante. Agora consulte o instantâneo anexado em questão. Existem 'Exibir ciclo de vida' e 'Uma seção dedicada ..' são seções criadas por
pragma mark
sfonte
Enquanto procurava por um documento para apontar como pragma são diretivas para o compilador, encontrei este artigo do NSHipster que faz o trabalho muito bem.
Espero que você goste da leitura
fonte
O principal objetivo do "pragma" é para referência do desenvolvedor.
Você pode encontrar facilmente um método / função em milhares de linhas de codificação.
Xcode 11+:
Linha de Marcador no Topo
Linha de marcador na parte superior e inferior
Linha de marcador apenas na parte inferior
fonte