¿Dónde coloca los datos de la aplicación global en una aplicación de iPhone?

Tengo una aplicación que permite al usuario ver, manipular y administrar una colección de objetos Schedule. Diferentes partes de la aplicación necesitan acceso a estos datos. He experimentado con hacer que la colección sea un singleton, pero no la encontré muy limpia.

Recientemente cambié para almacenar los datos globales en la clase AppDelegate y usar:

MyAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.myGlobalData doSomething];

Lo que elimina la necesidad de que mis datos globales sean un singleton, pero en realidad solo está aprovechando el singleton de UIApplication.

Realmente no hay un solo controlador de vista principal en el que tiene sentido almacenarlo en mi caso. Así que me preguntaba qué estrategias diferentes usan las personas para abordar esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta