¿Qué es NSNotification?

¿Alguien puede explicar la importancia de NSNotificationCenter?

Donde usarlos?

¿Cuál es la diferencia entre NSNotificationCenter y AppDelegate?

Apple ha proporcionado un patrón de observador en la biblioteca Cocoa llamado NSNotificationCenter.

La idea básica es que un oyente se registra con un locutor usando algún protocolo predefinido. En algún momento posterior, se le ordena a la emisora ​​que notifique a todos sus oyentes, donde llama a alguna función sobre cada uno de sus oyentes y transmite ciertos argumentos. Esto permite el paso asíncrono de mensajes entre dos objetos diferentes que no tienen que conocerse unos a otros, solo tienen que saber acerca de la emisora.

Puede encontrar más detalles al respecto aquí: http://numbergrinder.com/node/32

El delegado de aplicación es un objeto que recibe notificaciones cuando el objeto UIApplication alcanza ciertos estados. En muchos aspectos, es un patrón de Observador uno-a-uno especializado.

Puede leer más sobre esto aquí: ¿Para qué sirve AppDelegate y cómo sé cuándo usarlo?

Si vienes de un fondo Actionscript entonces NSNotification es como agregar oyentes a objetos, supongo.

NSNotification es como notificar a la otra clase sobre los cambios que sucederán si alguna acción tiene lugar en otra clase.