Los parámetros de Inter-ViewController pasan en la programación del iPhone ... ¿cómo?

Yo leo:iPhone: Cómo pasar datos entre varios controladores de vista en una aplicación Tabbar y me preguntaba cuál es la diferencia entre

[[UIApplication sharedApplicaton] delegate]

y

extern struct* global

?

Conceptualmente, no veo cómo [[UIApplication sharedApplicaton] delegate] no es algo global. De hecho, eso disminuye la sensación de culpabilidad al usar la estructura global * sucia ahora.

Estoy comenzando un nuevo proyecto muy pronto. Entonces, uso este descanso para hacer la pregunta: ¿hay algunaejemplo de código de mejores prácticas para ilustrar cómo compartir datos entre dos ViewControllers (pero no globalmente)?

Déjame ponerlo en un ejemplo:

esto es un juegohay un nombre NSString * para almacenar el nombre del jugadorhay una puntuación NSInteger para almacenar la puntuación actual del jugadorGameMainViewController se actualizará y mostrará la puntuaciónen GameSettingViewController, hay un campo de texto para editar el nombre y un botón para restablecer la puntuaciónGameMainViewController es responsable de establecer un nombre predeterminado (si es nulo), guardar el nombre y el puntaje al salir, cargar ambos (si existe) al iniciar

entonces

¿Dónde debo poner "nombre" y "puntaje"?¿Cómo pueden los ViewControllers acceder y cambiar los valores?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta