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 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[])
{
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"NomeDoProjetoAppDelegate");
[pool release];
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;
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 {
UIWindow *window;
UINavigationController *navController;
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 = [[NomeDoProjetoViewController alloc] init];
navController = [[UINavigationController alloc] initWithRootViewController: 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>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.