2011-02-16 21 views
10

Así que estoy comenzando con Cocoa y ObjC. Intento seguir el ejemplo en el up up and running object C/cocoa book de oreilly. Mi aplicaciónDidFinishLaunching no parece estar recibiendo llamadas. Creo que es un problema con la forma en que enganché todo en el IB.applicationDidFinishLaunching no se está ejecutando

Cabecera: http://pastebin.com/6AdQt1uN

Clase: http://pastebin.com/VCQWJWkj

IB: http://img265.imageshack.us/img265/4616/screenshot20110216at111.png

¿Alguien ve algo obvio que mis ojos no entrenados no lo hacen?

Respuesta

18

¿Su objeto Application tiene su delegado establecido en su objeto Application App Delegate? Haga clic con el botón derecho en Application en su ventana IB y configure la salida delegate como su objeto Application App Delegate.

+1

Eso lo hizo. Adelante a más depuración: D Gracias (aceptará la respuesta en 2 minutos). – Realn0whereman

+0

Acabo de comentar en el otro también - ¡me alegro de que funcionó! Disfruta aprendiendo Cocoa :) – Dominic

2

Adivinar: no configuró el objeto donde definió applicationDidFinishLaunching como delegado para su aplicación.

+0

¿No hago eso como se muestra en la imagen en la sección de tomas de referencia? Hice clic derecho en la ventana y arrastré la salida de delegado a mi archivo de clase en la vista del documento (en el IB). – Realn0whereman

+0

Eso es para * Window *, no * Application *. Son dos objetos diferentes. Vea mi respuesta a continuación: necesita configurar el delegado en la aplicación en sí. – Dominic

0

para aquellos que no usan IB, asegúrese de especificar el delegado de la aplicación en main.m de la siguiente manera:

 return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

en lugar de:

 return UIApplicationMain(argc, argv, nil, nil); 
Cuestiones relacionadas