iOS: forma correcta de almacenar la session de inicio de session de usuario

¿Cuál es la forma más fácil y correcta de almacenar una session que indica si un usuario ha iniciado session o no? Incluso podría almacenar información básica en la memory (el nombre y apellido de un usuario registrado, etc.).

He oído hablar de objects Singleton, pero no estoy seguro si eso es una solución o no. Mi principal objective es almacenar información básica del usuario para una aplicación.

¿Podría esto funcionar?

[[NSUserDefaults standardUserDefaults] valueForKey:@"someKeyName"] 

No estoy seguro si esto es eficiente, sin embargo, si planeo usarlo para aproximadamente 8 valores.

Un singleton estaría bien si no va a almacenar ninguna información entre sesiones.

Por ejemplo, si desea save la dirección de correo electrónico de un usuario para que no tenga que completarla cada vez que inicie session, deberá usar

 [[NSUserDefaults standardUserDefaults] valueForKey:@"someKeyName"]; 

Al igual que en tu pregunta.