quinta-feira, 8 de julho de 2010

Código na cabeça!

Depois de algumas tentativas frustradas para baixar os mais de 2 gb do iPhone SDK, finalmente consegui uma conexão boa para concluir o download e descobrir que precisava baixar mais 2 gb de atualização do sistema operacional.


Vamos começar então!
O SDK vem com várias ferramentas e alguns arquivos de exemplo, mas como já imaginava, a linguagem de programação Objective-C é um tanto incomum e precisa de um tempinho para se adaptar. A boa notícia é que quem esta acostumado com o boom e velho C, ainda pode usar a sua sintaxe para algumas coisas.

São basicamente três arquivos para a programação:
  • .h - Cabeçalho com declarações de classes, tipos, funções e constantes.
  • .m - Usado para escrever o corpo dos procedimentos em Objective-C
  • .mm - A salvação de muita gente, é onde pode se escrever o corpo dos procedimentos em C++
Mas vamos ver um pouco dessa linguagem nova antes de simplesmente descartar ela.



Essa e a declaração de uma classe e realmente, parece ser algo um tanto bizarro quando se olha pela primeira vez. Para começar, você informa que é uma classe usando @interface nomeDaClasse : classePai que é basicamente o class nomeDaClasse extends classePai de outras linguagens baseadas em C.
Depois dovê declara todos os atributos seguidos dos métodos, seguindo uma estrutura à Pascal. Mas não se precipite, não tem absolutamente nada a ver com Pascal a linguagem Objective-C!

Objective-C é uma linguagem que trabalha com ponteiros, pesadelo da maioria de nós. Infelizmente o iOS não possui um Garbage Collector então temos que tratar os ponteiros com muito cuidado.


A declaração de métodos é bem estranha, parece até uma listagem mal organizada em alguns momentos.Ela possui uma característica única que você declara os parâmetros em qualquer lugar. O nome do método da imagem acima, por exemplo, é insertObject:atIndex e os parâmetros são anObject e index. Estranho, não?
Mais estranho ainda é a chamada desses métodos que é feita por mensagens. Veja como fazer a camada do nosso método atribuindo o resultado a um objeto chamado myArray:

[myArray insertObject:anObject atIndex:0]

Bizarro! Estranho! Louco! Essas talvez sejam as suas impressões, assim como foram as minhas, mas até que é interessante. Na esquerda vai o destino do resultado do nosso método e depois os parâmetros nomeados com seus devidos valores. Estamos enviando um objeto qualquer para ser colocado no indice 0 do nosso array.

Para maiores informações, a Apple disponibiliza inúmeros tutoriais no centro de desenvolvedores:

http://developer.apple.com/

2 comentários:

  1. Eu costumo dizer que parece que estou sempre programando com arrays (por causa desse monte de colchetes) quando uso Objective-C :)

    Good Post! Congrats!

    ResponderExcluir