Desenvolvimento IPhone sem o uso do Interface Builder
Autor: Daniel Colnaghi | Publicado: 2011-04-07T14:01:00-03:00

Bom, depois de ver mais de dez vezes os vídeos abaixo, resolvi criar um complemento deles. Senti falta de ter o código final ou em partes para poder a companhar o vídeo, então ae vai minha extensão para o aprendizado. Para ficar mais claro o uso desse complemento sugiro ver os vídeos e acompanhar o código aqui postado conforme a evolução.

O primeiro passo a ser seguido é ver o vídeo abaixo e apenas VER, pois no primeiro é criado uma aplicação do tipo View-Based App e no segundo uma&nbsp;Window-Based App.(tive problemas na primeira vez que vi o 2o video e utilizei o mesmo projeto 'o_o). Então fica a dica, presta atenção no vídeo e depois faz utilizando a Window-Based App.



A segunda parte está dividida em 3 seções, que explicam bem o funcionamento do Obj-C e do IPhone.

Abaixo alguns passos mostrados no vídeo.

apagar o arquivo XIB dentro da pasta resources.

apagar a property Main nib file base name do arquivo projeto-info.plist

adicionar o nome da AppDelegate na main.m

int main(int argc, char *argv[])
{&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];&nbsp; &nbsp; int retVal = UIApplicationMain(argc, argv, nil, @"NomeDoProjetoAppDelegate");&nbsp; &nbsp; [pool release];&nbsp; &nbsp; return retVal;}
no arquivo da AppDelegate.h, apagar a referencia do IB(Interface Builder) IBOutlet

@property (nonatomic, retain) IBOutlet UIWindow *window;
criar uma instancia da window no arquivo AppDelegate.m

window = [[UIWindow alloc] init];
novamente no AppDelegate.h, criar o controle abaixo

UINavigationController *navController;
adicionar um ViewController ao projeto clicando em Classes&gt;Add&gt;New File...

importar a ViewController na AppDelegate.h e criar uma variavel do tipo ViewController, com isso o código deve estar parecido com o abaixo.




#import #import "NomeDoProjetoViewController.h"
@interface NomeDoProjetoAppDelegate : NSObject  {&nbsp; &nbsp; UIWindow *window;&nbsp;&nbsp; &nbsp;UINavigationController *navController;&nbsp;&nbsp; &nbsp;NomeDoProjetoViewController *vcNomeDoProjeto;}
@property (nonatomic, retain) UIWindow *window;
@end

criar uma instancia do ViewController inicializar o navController passando a view como parametro e por final adicionar o navController na window, isso tudo no arquivo AppDelegate.m

vcNomeDoProjeto&nbsp;= [[NomeDoProjetoViewController alloc] init];navController = [[UINavigationController alloc] initWithRootViewController:&nbsp;vcNomeDoProjeto];
re-escrever o metodo INIT da ViewController - nessa parte encerra o vídeo, então o código será re-escrito abaixo junto com o vídeo a seguir.


- (id)init { if (self = [super init]) {  } return self;}



criar uma View na pasta Classes - para isso clique na pasta Add&gt;New File...

importar a View na ViewController.m, com isso o código deve estar parecido com isso:
Note que no meu caso criei a View com o nome MainView!

#import "NomeDoProjetoViewController.h"#import "mainView.h"
@implementation NomeDoProjetoViewController
- (id)init { if (self = [super init]) {  mainView *v = [[mainView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];  self.view = v;  [v release]; } return self;}
Nesse ponto termina o processo para desvincular o IB do seu projeto, a partir daqui o vídeo mostra como criar outros componentes e seus funcionamentos. Aconselho ver todos os vídeos para adquirir mais conhecimento da plataforma. Para ver os demais vídeos entre no canal da ToucheMobile no youtube.