A primeira fonte que eu fui em suas mãos foi escrito em Basic e consistia de algumas linhas de código, para iluminar-me. Era um jogo simples que gerou um número aleatório de 1 a 10 e, através da entrada de teclado, provou que o número digitado foi Maggione, inferior ou igual ao número aleatório. Apesar de sua simplicidade rude continua a ser, para mim, um dos melhores exemplos - simples, divertido e prático - para explicar a quem não sei nada sobre programação que se entende realmente de "programa de computador". Então eu decidi propor-lo para o iPhone da Apple, talvez ajude alguém ...
Artigos com a tag 'Apple'
iPhone FirstApp: Adivinhe o número - Parte 1
Objective-C: conversão de tipo
Com algumas linguagens de alto nível, tais como JavaScript ou PHP, onde os dados não são digitados ou de outra forma não pode ser, nós somos "mimado" em comparar ou converter strings e inteiros e vice-versa, tudo escondido ou manipulado pelo interpretador (ou compilador ). Por exemplo em JavaScript funções são "forçadas" (como parseInt() , por exemplo) exigido em casos especiais. No entanto, em outras circunstâncias, tratar os inteiros sem preocupação de conversões particulares (explícito), tais como:
1 2 3 | 5 ; mioNumero var = 5; / / ... "Il valore di mioNumero è " + mioNumero ) ; alert ("O valor é mioNumero" mioNumero +); |
Objectivo-C, no entanto, o tipo de dados é importante ea conversão de tipo deve ser expresso. Além do elenco (melhor typecasting) podemos utilizar os recursos e funcionalidades específicas para a conversão de tipo. Por exemplo, aqui é como converter um inteiro para uma string:
1 2 3 4 |
Em contraste, aqui é como converter uma string para um inteiro:
1 2 3 4 | miaStringa = @ "128" ; NSString * myString = @ "128"; [ miaStringa integerValue ] ; mioNumero int = [myString integerValue]; / / "miaStringa=%@ mioNumero=%i" , miaStringa, mioNumero ) ; NSLog (@ "% @ myString = mioNumero =% s", myString, mioNumero); |
trecho de código iPhone: UIAlertView
A classe UIAletrView permite que você exiba uma janela modal (animada) para informar e / ou pedir-lhe algo. O UIAlterView (alertas de vista) são muito confortáveis e fáceis de usar. A manipulação da resposta de utilizador é resolvido por interceptar o índice do botão pressionado. Para ver uma simples UIAlterView basta escrever:
1 2 3 4 | / / Alerta com um simples botão, sem retorno [ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" cancelButtonTitle : @ "Annulla" otherButtonTitles : nil ] ; UIAlertView MyALERT * = [[UIAlertView alloc] initWithTitle: @ "Título" mensagem: @ "Mensagem" cancelButtonTitle: @ "Cancelar" otherButtonTitles: nil]; ; [MyALERT show]; ; [MyALERT release]; |
E 'possível adicionar botões adicionais otherButtonTitles :
1 2 3 4 | / Alerta / com dois botões simples, sem retorno [ [ UIAlertView UIAlertView MyALERT * = [[UIAlertView ; [MyALERT show]; ; [MyALERT release]; |
: Para determinar qual botão foi pressionado, basta adicionar o delegate:self objeto de inicialização UIAlterView :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Alerta / / simples com dois botões e callbacks [ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView MyALERT * = [[UIAlertView alloc] initWithTitle: @ "Título" mensagem: @ "Mensagem" delegado: cancelButtonTitle self: @ "Cancelar" otherButtonTitles: @ "Ok", nil]; ; [MyALERT show]; ; [MyALERT release]; / / O retorno de chamada tem a seguinte sintaxe void ) alertView : ( UIAlertView * ) alertView clickedButtonAtIndex : ( NSInteger ) buttonIndex { - (Void) alertView: (UIAlertView *) clickedButtonAtIndex alertView: (NSInteger) {buttonIndex buttonIndex ) { interruptores (buttonIndex) { : case 1: / / Código quebrar; } } |
O retorno de chamada alertView precisa ter esse nome, para mais informações, consulte UIAlertViewDelegate
punteranno sempre a quella. Com apenas o callbck alertView:clickedButtonAtIndex mais UIAletrView irá sempre apontar para isso. Usando o campo de tag do objeto UIAletrView , podemos determinar o que o "chamador":
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Alerta / / simples com dois botões e callbacks [ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView MyALERT * = [[UIAlertView alloc] initWithTitle: @ "Título" mensagem: @ "Mensagem" delegado: cancelButtonTitle self: @ "Cancelar" otherButtonTitles: @ "Ok", nil]; ; myAlertA.tag = 1; ; [MyAlertA show]; ; [MyAlertA release]; / / [ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView myAlertB * = [[UIAlertView alloc] initWithTitle: @ "Título" mensagem: @ "Mensagem" delegado: cancelButtonTitle self: @ "Cancelar" otherButtonTitles: @ "Ok", nil]; ; myAlertA.tag = 2; ; [MyAlertB show]; ; [MyAlertB release]; / / A gestão múltipla UIAlertView void ) alertView : ( UIAlertView * ) alertView clickedButtonAtIndex : ( NSInteger ) buttonIndex { - (Void) alertView: (UIAlertView *) clickedButtonAtIndex alertView: (NSInteger) {buttonIndex "Alert Tag: %i" , alertView.tag ) ; NSLog (@ "Etiquetas de Alerta:% s", alertView.tag); "buttonIndex: %i" , buttonIndex ) ; NSLog (@ "buttonIndex:% s", buttonIndex); } |
Muito curto truque: NSTimer parada
O uso de temporizadores ( NSTimer ) para desenvolver aplicativos para o iPhone da Apple é muito freqüente, não só em fazer jogos. Um dos problemas com que se pode colidir é a assincronia do timer, que pode levar, durante a prisão de um ou mais temporizadores, a queda de nossa aplicação. , si invoca la invalidate che, appunto, arresta il timer. Quando você quiser parar um ou mais temporizadores, onde repeats é definido como YES , você chama o invalidate que, de fato, parar o cronómetro.
Apple iPhone SDK 3.0: Corrigido bug no UIButton buttonWithType
Como indicado na pós Apple iPhone SDK 3,0: incompatibilidade primeiro do SDK da Apple 3,0 mostram comportamentos diferentes no que diz respeito a libertar 2.2.1. O serviço de suporte para os desenvolvedores me deu a resposta, e então a solução para o problema. . A resposta foi que o suporte técnico [UIButton buttonWithType:] já chamado - no interior - o initWithFrame . Daqui resulta que, de acordo com o suporte técnico, escrevendo:
Do ActionScript para Objective-C
Eu pensei que poderia ser útil para aqueles que recentemente se aproximou do desenvolvimento de aplicações para iPhone da Apple, compare Adobe ActionScript - a linguagem usada em Adobe Flash e Adobe Flex, mais comum entre os neo-programadores - e linguagem Objective-C usada pela Apple para desenvolver suas aplicações. Objective-C é na verdade uma linguagem orientada a objetos, no sentido puro, não que Actionscript não é, mas Objective-C é definitivamente um plus, pois é uma extensão do ANSI C e sua sintaxe é uma mistura entre C / C + + e Smalltalk, é uma verdadeira OO (linguagem orientada a objetos).
Apple iPhone SDK 3.0: incompatibilidade primeiro
Depois de instalar o 3.0 SDK para o iPhone da Apple, evidentemente, ainda não perfeitamente estável, de imediato, notei alguns problemas, tanto na compilação do código está no XCode geral. O mais importante - o que eu prontamente relatado com uma "casa" para desenvolvedores da Apple, no centro - a criação de botões através de código. Aqui está um trecho do código não é compatível com o SDK 3.0:
1 2 3 4 | [ [ UIButton buttonWithType : UIButtonTypeRoundedRect ] initWithFrame : CGRectMake ( 0 , 0 , 100 , 40 ) ] ; UIButton * myButton = [[UIButton buttonWithType: UIButtonTypeRoundedRect] initWithFrame: CGRectMake (0, 0, 100, 40)]; @ "Bottone" forState : UIControlStateNormal ] ; [MyButton setTitle: @ "Button" forState: UIControlStateNormal]; / / Outras configurações myButton ] ; [Self.view addSubview: myButton]; |
Ao preencher este código com o SDK 2.2.1 você tem um botão clássico com o rótulo de "Button". Com o SDK 3.0, o botão é criado, mas o rótulo desaparece. la situazione sembra migliorare, nel senso che la label viene resa apparentemente in modo corretto. Utilizando como buttonWithType o tipo UIButtonTypeCustom a situação parece melhorar, no sentido de que a etiqueta é aparentemente feita correctamente. Ainda é estranho para a falha súbita do tipo UIButtonTypeRoundedRect . Ainda estou aguardando uma resposta da Apple ... Eu só novidades; lugar!
O Primeiro: Disponível no iTunes
Telefone oi
A partir de hoje inaugurou uma nova secção (categoria a ser corrigido) dedicada ao desenvolvimento de aplicações no iPhone da Apple! Afirmo agora que muitos dos itens que irá publicar um "corte" de acordo com o espírito deste blog, que será principalmente para usuários avançados. No entanto, como tenho feito isso em outros tópicos, tente ser o mais claro possível e, se necessário, coloque um pouco "conceito básico" útil para um público mais amplo.
Muito curto truque: desativar o redimensionamento de um textarea no Safari
Em qualquer navegador desenvolvido a partir do motor de renderização WebKit (como apputo Safari ou Chrome ), a campos textarea show, no canto inferior direito, a característica de redimensionamento. Se tal especificidade pode ser realmente útil em certos casos, em outros, é transformado em um elemento irritante.







Últimos Comentários
Giovambattista Fazioli : @ GM: Se você fazer upload de imagens para um servidor diferente (que o WordPress não pode ...
GM : Oi, desculpe ressuscitar um post antigo, mas eu espero que você possa me dar uma mão. Como eu, com este método, ...
Giovambattista Fazioli : @ Fabio: um post do passado! Eu recomendo usar as características mais convenientes de abas agora ...
Fabio : Olá, pesquisando na web encontrei este artigo para criar a sua faixa de guia javascript com php e css, mas ...
Miriam : O que você acha do Disqus? Eu estou usando ele e eu adoro isso.