Aprendendo a Lição

Estou desenvolvendo um pequeno app de controle de horas, para ajudar a retomar os meus estudos em Objective C e Cocoa.

Já adianto o que eu descobri(depois de 2 dias de luta, coisa de principiante), em um NSDocument, os objetos que você cria pelo Interface Builder, só estarão instanciados depois que o XIB for carregado(lógico, mas só agora que caiu a ficha). E não só para o NSDocument, mas pra qualquer outra classe que você utilize o IB e crie objetos por ele.

O meu drama foi que eu estava tentando ler um arquivo salvo pelo meu app, porém o objeto que seria instanciado foi criado dentro do XIB.

Havia colocado todo o meu código para instanciar o objeto no método readFromData:ofType:error:, porém depois que esse fulano é chamado ele cria um novo NSDocument e só depois de o XIB ser carregado o meu objeto contido nele pode ser utilizado. Estranhamente sempre depois do XIB criado o meu objeto anteriormente instanciado ficava como nil. Eeeee júnior!!!

Fora que eu também já queria dar um “refresh” nos NSTextField do NSDocument antes mesmo de ele saber que iria tomar vida. Burro, burro, burro!!!

Depois de aprendida a lição, agora é só juntar os pedaços dos snippets que eu andei fazendo pra montar esse pequeno app de controle de horas.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>