viewDidLoad en NSViewController?

en iPhone, utilizo UIViewController viewDidLoad y escribo algunos códigos de configuración para configurar la vista.
Pero, ¿cómo puedo hacer eso en NSViewController?
Lo he intentado con loadView pero no funciona … Tal vez hago algo mal, no lo sé …

PD: acabo de comenzar con la progtwigción de OSX / iOS, lo siento mucho si le pregunto algo estúpido 🙁

A partir de OS X 10.10, viewDidLoad está disponible y es compatible con NSViewController .

Antes de eso, tenías que pasar por esta pepita en las notas de lanzamiento de Snow Leopards:

Consejos para personas que están buscando -viewWillLoad y -viewDidLoad Methods en NSViewController

Aunque NSWindowController tiene los métodos -windowWillLoad y -windowDidLoad para que anule la clase NSViewController introducida en Mac OS 10.5, no tiene los métodos -viewWillLoad y -viewDidLoad correspondientes. Puede anular – [NSViewController loadView] para personalizar lo que sucede inmediatamente antes o inmediatamente después de la carga de la punta hecha por un controlador de vista.

Lo descubrí a los pocos minutos de publicar mi comentario. Agregar mi hallazgo como respuesta porque es un ejemplo que falta en los documentos. El siguiente código le dará el método viewDidLoad que desee. Es tan fácil que me pregunto por qué Apple aún no lo ha implementado en OS X.

 - (void)viewWillLoad { if([NSViewController instancesRespondToSelector:@selector(viewWillLoad)]) { [super viewWillLoad]; } ... } - (void)viewDidLoad { if([NSViewController instancesRespondToSelector:@selector(viewWillLoad)]) { [super viewDidLoad]; } } - (void)loadView { BOOL ownImp = ![NSViewController instancesRespondToSelector:@selector(viewWillLoad)]; if(ownImp) { [self viewWillLoad]; } [super loadView]; if(ownImp) { [self viewDidLoad]; } } 

Fuente original: http://www.cocoabuilder.com/archive/cocoa/195802-garbage-collection-leaks-and-drains.html

A partir de OSX 10.10 (Yosemite), ahora hay -viewDidLoad , -viewWillAppear , -viewDidAppear , -viewWillDisappear en NSViewController . Consulte WWDC 2014 – Guiones gráficos y controladores en la sesión de OS X para obtener más información, para averiguar cuándo se llama cada uno de ellos, etc.

Aquí está el bit relevante de los documentos del encabezado 10.10 sobre -viewDidLoad:

Se invoca después de que la vista se ha cargado. Para los controladores de vista creados en código, esto es after -loadView. Para los controladores de vista desarchivados de una plumilla, esto es después de que se establece la vista. Predeterminado no hace nada.

 - (void)viewDidLoad NS_AVAILABLE_MAC(10_10); 

¿Por qué no pruebas esto?

 - (void) awakeFromNib{ //setup code NSLog(@"hello there"); } 

Parece que en 10.10, viewDidLoad ahora está en NSViewController.

hmm en realidad yo también haría esto …

 - (void)viewWillLoad { if (! bool_viewwillload) { // execute the code bool_viewwillload = true; } } - (void)viewDidLoad { if (! bool_viewdidload) { // execute the code bool_viewdidload = true; } } 

y luego solo haz que la vista de carga sea así

 - (void)loadView { [self viewWillLoad]; [super loadView]; [self viewDidLoad]; }