
Olá… Neste artigo vamos conhecer um pouco do iPhoneOS seu principais recursos e principalmente suas limitações. Conhecer estas limitações é importantíssimo para evitar o eventual desligamento de sua aplicação pelo Apple App Killswitch (Espécie de guarda que desliga uma aplicação que esteja consumindo muitos recurso).
A ANATOMIA DO IPHONEOS
O Framework do iPhoneOs é dividido em quatro grandes camadas, como mostrado na figura. Cada uma destas camadas contém uma variedade de frameworks que você pode ter acesso ao escrever programas no iPhone SDK. Geralmente, você deve preferir uma camada de alto nível quando você estiver codificando (os indicados em direção ao topo do diagrama).
Cocoa Touch é o framework que você deve se tornar mais familiarizado. Contém o framework UIKit e é nele que passaremos mais de 90 % deste curso. A framework UIKit inclui suporte a “Window”, suporte a eventos e suporte a gerenciamento de interfaces de usuário, e permite que você crie texto e páginas de web. Ele ainda funciona como sua interface com o acelerômetro , a câmera, a biblioteca de fotos, e informações específicas de cada dispositivo.
Media é o lugar onde você pode ter acesso aos principais protocolos de áudio e vídeo embutido no iPhone. Existem quatro tecnologias gráficas presentes: OpenGL ES, EAGL (que liga
objetos OpenGL para a sua “window” nativa), quartzo (que é uma engine da Apple baseado em desenho vectorial), e o Core Animation (que também é construída sobre Quartz). Outros frameworks
dignos de nota incluem Core Audio, Open Audio Library, e Media Player.
Core Services oferece os frameworks utilizados em todas as aplicações. Muitos deles são dados conexos, tais como o interno Address Book framework. Core Services inclui também a critical Foundation framework, o que inclui as principais definições dos tipos de dados orientados a objeto da Apple, tais como as suas matrizes e conjuntos.
Core OS inclui o kernel-level software. Você pode acessar threading, arquivos, rede, I/O, e memória.
A HIERARQUIA DOS OBJETOS DO IPHONE
Dentro desses frameworks você será hábil para acessar a uma imensa riqueza das classes que estão dispostos em uma enorme hierarquia. Você verá muitas destas classes utilizadas em todo este curso. Na Figura abaixo mostro muitas das classes que vamos usar ao longo dos vários artigos, organizados em hierarquia. Eles são apenas uma fração do que está disponível. Conforme mostrado na figura, os objetos que tem tem maior probabilidade de uso estão divididos em duas categorias gerais.
AS CLASSES NS
As classes NS provêm do Core Services Foundation framework (um Cocoa equivalente do Core Foundation framework), que contém um grande número de tipos de dados fundamentais e de outros objetos. Você deve usar as classes fundamentais do Cocoa como NSString e NSArray sempre que você puder. Isto porque eles tendem a se dar muito bem uns com os outros e com o framework UIKit, e portanto, é menos provável que você encontre erros bizarros. Apesar de não ser mostrado, NSNumber é outra classe que você deve usar sempre. Deve ser o seu principal objeto numérico quando você estiver fazendo qualquer tipo de trabalho complexo com números. Pode ser utilizada para reter muitos tipos de valores numéricos, flutuantes, inteiros e mais. Os objetos que podem conter coleções de valores são NSArray (um array numérico) e NSDictionary (um array associativo). Somente estes insteressam mais nas classes NS.
AS CLASSES UI
A segunda categoria geral de classes contém as classes UI. Estes vêm do Cocoa Touch do framework do UIKit. Ela inclui todos os objetos gráficos que você usa, bem como todas as funcionalidades para o iPhone OS event model, muitos deles aparecem no UIResponder. Mas este é um outro tema que vamos voltar em breve.
WINDOWS E VIEWS
Como as classes IU demonstram, o iPhoneOS é profundamente enraizada na ideia de uma interface gráfica de usuário. Por isso, vamos terminar nossa introdução do iPhoneOS examinando algumas das principais abstrações gráfico embutidas no UIKit. Existem três abstrações principais: Windows, Views, e view controllers. Um Window é algo que toma toda a tela do iPhone. Há apenas um deles para a sua aplicação, e é o recipiente para tudo o que a sua aplicação mostrar. Um View é o conteúdo real mostrado na sua tela.
Você pode ter vários deles, cada um abrangendo diferentes partes do Window (Janela) ou fazendo coisas diferentes em tempos diferentes. Eles são todos derivados da classe UIView. No entanto, não basta pensar em um view como um recipiente vazio.
Atualmente, praticamente qualquer objeto que você usar a partir do UIKit será uma subclasse do UIView que apresenta uma grande quantidade de comportamentos herdados de si mesmo. Entre as grandes subclasses de UIView são UIControls, que lhe dará botões, cursores, e outros itens que os usuários podem manipular o seu programa com, e UIScrollableViews, que fornecerá aos usuários o acesso ao texto que não pode aparecer mais de uma vez. Um View controller faz o que seu nome sugere. Ela atua como o elemento controlador do modelo MVC e no processo de gerenciamento de telas cheias de texto, que é às vezes chamado por um view. Como tal, ele cuida de eventos e de actualização para o seu view. Neste curso, dividimos os view controllers em dois tipos.
View Controllers Básicos são aqueles que apenas gerenciam telas de texto (como o tab bar controller), enquanto view controllers avançados são aqueles que permitem que um usuário se desloque entre as várias páginas de texto (tais como o navigation bar controller e o tab bar controller). A figura abaixo mostra como esses três tipos de objetos interrelacionem.

Windows, views, e view controllers são, em última análise, parte de uma visão hierarquia. Esta é uma árvore de objetos que começa com o Window na sua raiz. Um programa simples pode apenas ter um Window com um view nela. A maioria dos programas terá início com um Window, um view e um view controlller em que, talvez apoiados por view controllers adicionais, controlam views que deveraão ter os seus próprios subviews. Iremos descrever este conceito mais claramente nos próximos artigos, quando começarmos a olhar para a visualização básica de controladores. Até lá …
Autor: webclaudio.wordpress.com


02:01
Marcell C. Ribeiro



















0 comentários:
Postar um comentário