Quantos programadores de usar, eu também construir a minha própria biblioteca de funções prontas para serem reutilizados em vários projetos e contextos múltiplos. Deixe-me passar o título deste post, talvez um pouco arriscada, mas, no entanto, como veremos, não muito longe da realidade.
Em Objective-C código pode chamar e escrever C / C + +, incluindo a montagem para essa matéria. Esta característica o torna uma linguagem muito versátil e, em alguns aspectos, fenomenal. Por um lado, você pode usar e apreciar a sintaxe puramente Objective-C, o outro pode correr rápido portabilidade de código escrito em ANSI C (talvez para o Digital Unix ou Sun) e pode caber confortavelmente em nosso iPhone e aplicações IPAD; para não mencionar todo o kernel BSD já está disponível no Mac OS X!
Leia mais ...
<a target="_blank" href="http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html#//apple_ref/c/func/NSLog">NSLog()</a> uma função muito útil durante os estágios iniciais de um projeto para testar e depurar um aplicativo para o Apple iPhone ou, mais geralmente, no ambiente XCode. Sendo apenas uma função, assim como o outro, sua presença será sentida mesmo quando liberar (release) executável nosso. potrebbero influire sulle performance della nostra applicazione, soprattutto se abbiamo inserito NSLog() all'interno di loop. Por isso, torna-se necessário remover, de alguma forma, todas as linhas de NSLog() do nosso código, porque não é necessário, seja porque as chamadas para NSLog() poderia afetar o desempenho da nossa aplicação, principalmente se colocarmos NSLog() para 'loop interno.
Imediatamente descartar a solução para o "olhar" e "cancel" porque um dia não poderia ser utilizado novamente. Excluímos também a solução do "olhar" e "Comentários", desconfortável para a razão mesma de antes. Felizmente um ambiente limpo, simples e estão usando as condicionais de compilador corretas. O que fazemos na prática, e diz ao compilador para excluir - se houver uma condição específica - quando compilar as nossas linhas de origem que contêm NSLog() .
As compilações de directivas e instruções do compilador condicional, são um poderoso e generalizado. Aqueles que vem do desenvolvimento da ANSI-C certamente sabem muito bem e vai utilizzte em muitas situações. A peculiaridade dessas "instruções" reside no fato de, acima mencionado, para ser visto pelo compilador e não executável. Esta característica torna útil em muitos casos e podem resolver os problemas de outra maneira muito irritante.
Vamos ver um exemplo de código que, como previsto, você pode "apagar" por compilar pedaços de código, no nosso caso NSLog() :
1 2 3 4 5 6
| # Define ACTIVE_NSLOG 1 / / Se a constante é definida ACTIVE_NSLOG preencher / Bloco / de código entre # ifdef e # endif # Ifdef ACTIVE_NSLOG " ... bla bla" ) ; NSLog (@ "... blah blah"); # Endif |
). Declarações condicionais são parte do compilador da mesma família como #define , também, na verdade, são precedidos por um "quilo" ( # ). solo se ACTIVE_NSLOG è definito. No exemplo mostrado, nós definimos uma constante ACTIVE_NSLOG ; linhas subseqüentes do código diz ao compilador para "incluir" linha NSLog() somente se ACTIVE_NSLOG está definido. Se teve o cuidado, durante a escrita do nosso código, inserindo chamadas para NSLog() dentro do bloco #ifdef ... #endif per far sparire, alla prossima compilazione, tutti i nostri NSLog() . #ifdef ... #endif , basta apagar a definição da constante ACTIVE_NSLOG a desaparecer, a compilação seguinte, toda a nossa NSLog() .
A melhor e final
Vamos agora ver como definir o ambiente XCode para melhorar ainda mais o que fizemos aqui! Primeiro vamos escolher um nome constante que usamos em nossos projetos para excluir da compilação NSLog() . o quello che preferite. Você pode escolher o nome que quiser, de DEBUG para MIO_DEBUG ou o que você preferir. Abra o seu projeto, novo ou velho. Coloque tudo NSLog() dentro do bloco (ou blocos):
1 2 3
| # Ifdef MIO_DEBUG " ... bla bla" ) ; NSLog (@ "... blah blah"); # Endif |
Selecione o arquivo principal do seu projeto, clique direito e escolha o Get Info.

Isso abre uma janela com informações sobre o projeto:

Selecione a guia Build, verifique se você está em configuração de depuração (esta é a jóia), vá até a seção definida pelo usuário e adicionar, por meio do botão no canto inferior esquerdo, um novo campo chamado OTHER_CFLAGS . Neste assegnamoli o valor -DMIO_DEBUG=1 . A sintaxe é -D{mia define}=1 .
Este procedimento tem duas vantagens:
- Não devemos colocar o código
#define MIO_DEBUG 1 , mas fazê-lo através das informações do projeto. Então, quando vamos para preencher a versão de lançamento (aquele sem o NSLog() ) devemos nos lembrar de apagar a linha #define MIO_DEBUG 1 - A constante é definido em relação à configuração, no nosso caso de depuração. Em seguida, passando para a configuração de lançamento (release) estará ausente e as linhas constantes com
NSLog() não serão compilados
Conclusões
O procedimento acima pode ser útil em alguns casos moltidutine outros, com NSLog() , não têm nada a ver. Declarações condicionais pode ajudar o compilador em uma ampla variedade de contextos. Eles são freqüentemente usados por programadores para determinar o tipo de versão do sistema operacional, o alvo, a presença de processadores matemáticos, mantendo a mesma fonte "idêntico".
Para entender isso, como exemplo, podemos utilizzre nossa constante MIO_DEBUG também a intervir em outras áreas do código:
1 2 3 4 5 6 7 8 9 10
| / Debug / se ganhar o jogo / / Com uma pontuação de 100 em vez de 10000 :) # Ifdef MIO_DEBUG score == 100 ) if (score == 100) # Else score == 10000 ) if (score == 10000) # Endif { ; [HaiVinto auto]; } |
Para terminar, aqui estão alguns exemplos e suas variantes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| / / Em geral, há um # Se a expressão / / Se instrução semelhante à tradicional, portanto, com uma expressão plena
/ / Verificar se uma constante é definida # Ifdef constante
/ / Ver se ele não é uma constante definida # Ifndef constante
/ / Else # Else
/ Fecho / do bloco # Endif |
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| / / Por exemplo ... # Define DEBUG 1 # Define MIA_ALTRA_COSTANTE 5
... # Se DEBUG / / Preencha este # Else / / Caso contrário, preencha este outro # Endif
# Se MIA_ALTRA_COSTANTE> 4 "..." ) ; NSLog (@ "..."); # Endif |
1 2 3 4
| # Ifndef INCLUDE_MIO_FILE # Define INCLUDE_MIO_FILE # Include "mio_file.h" # Endif |
Leia mais ...
. Os novos recursos de revisões WordPress pode ser controlado e definido através de define mundial WP_POST_REVISION . A sua definição pode ser inserido no arquivo wp-config.php :
Leia mais ...
Para alguns desenvolvedores só precisam saber que há uma nova versão de seu pacote de desenvolvimento preferida para correr e comprar o upgrade. Outros, e com razão, manter uma mais calma e "fingir" para saber a real recuperação na nova versão antes de mudar seus hábitos. No caso do Adobe Flash CS3 não é muito de esperar, dadas as muitas mudanças que sofreram a partir do pacote quando a Macromedia foi adquirida pela Adobe.
Aqui, então, 10 razões simples, mas importante, que, na minha opinião pessoal, o suficiente para convencê-lo a atualizar para o Adobe Flash CS3 . Eu, naturalmente, apenas as características que me impressionaram pessoalmente, este não pretende ser uma lista exaustiva de todas as muitas mudanças introduzidas com a suíte CS3, apenas uma mosca para antecipar algumas características do CS3.
1. Instalação
A instalação é bom e rápido, em comparação às versões anteriores. Ele inclui, entre outras coisas, com todos os produtos da Adobe (Dreamweaver CS3, Photoshop CS3 Extended, etc ...), que torna a instalação / remoção e atualizar um prazer real.
2. Compatibilidade com versões anteriores
Uma questão muitas vezes esquecido, mas sempre tidos em conta na história do Flash: A capacidade de gerenciar as versões anteriores do produto. No Flash CS3 tem todas as ferramentas de migração que para manipular as versões anteriores de nossos filmes. Nós encontramos essa possibilidade na depuração (depuração de um separado Actionscript 2.0 e Actionscript 3,0) está no processo de realização do filme. Aplicações imediatamente escrever em Flash Actionscript 3.0 pode ser contraproducente em determinados contextos. Se o seu site de destino tem um alto tráfego você pode descobrir que muitos usuários ainda não tiver instalado as últimas versões do Flash Player para o seu navegador e depois não ver o filme. No entanto, como já disse, o Flash CS3 permite desenvolver aplicações flash compatibilidade com versões anteriores mantendedo e, portanto, não vê neste nell'upgrade ostocalo grande do produto.
3. GUI e IDE

O IDE Flash CS3 (como o Dreamweaver CS3) foi revisado para melhor. Os painéis (ver figura à esquerda), muitas vezes desconfortável nas versões anteriores, foram completamente redesenhados e agora seu uso é notevolemente menos invasivo.
Além da possibilidade de minimizar os painéis (ver figura à direita) é encontrado, que faz uma verdadeira interface agradável e funcionalidade. Quando um painel é em ícone do modo ocupa muito menos espaço e com um simples clique você pode abrir o primeiro painel principal sempre visível.
Todo o IDE, em suma, foi revisto, incluindo a área central com a janela para edição e código gráfico. Você não apontar quaisquer alterações ou você vai estragar a surpresa ...

Leia mais ...
Últimos Comentários
Gabriel : Olá, interessante artigo. Eu preciso de algo semelhante, mas com algumas mudanças. Em um ...
sebastian : grande parcela - muito obrigado!
Assunto : muito útil mesmo! Eu tentei isso e é exatamente o que eu precisava. Agora eu quero saber como faço para obter ...
vik : Com a ajuda estratégica!
Pimenta : Olá, eu não sei se você é um dos criadores do plugin WP Bannerize. Tenho visto um ...