2012-01-02 12 views
7

Actualmente, estoy desarrollando una aplicación cuya funcionalidad depende en gran medida de los datos JSON recuperados. La mayoría de los datos que planeo guardar en los datos centrales. Sin embargo, no estoy seguro de tener que guardar todas las cosas relacionadas con el usuario (configuraciones, favoritos, twitter, Facebook y etc.) también en los datos centrales, o debería usar NSUserDefaults? ¿Cuáles son los pros y los contras?¿Debo usar datos centrales para almacenar algunas preferencias del usuario o guardarlas en NSUserDefaults?

+0

Esta respuesta tiene una buena comparación: http://stackoverflow.com/questions/6173625/what-are-the-limitations-of-nsuserdefaults – dhirschl

Respuesta

9

Se puede hacer referencia a la propia guía de Apple: Implementing Application Preferences

puede almacenar la configuración de usuario en cualquier forma que desee: La elección entre NSUserDefaults y Core Data es sólo entre el API, donde el primero fue en realidad diseñado para manejar preferencias de usuario.

NSUserDefaults y el "componente de configuración incorporada" son realmente uno y lo mismo. El uso de la aplicación de configuración aún almacenará las preferencias en NSUserDefaults a los que acceda en su aplicación con esa API.

La razón por la que es posible que no desee utilizar la aplicación de configuración integrada sería: es engorroso para los usuarios cambiar esa configuración. Si tiene configuraciones que los usuarios pueden querer cambiar con frecuencia, es posible que desee hacerlo dentro de su aplicación (por ejemplo, activar/desactivar la música, cambiar el nombre del jugador). Además, dado que usted tiene control total sobre su propia aplicación, puede tener una GUI más flexible que la que proporciona Apple en Settings.app

En cuanto al uso de Core Data o NSUserDefaults ... diría que va con NSUserDefaults ya que es mucho más fácil de implementar y fue diseñado para hacer esto, mientras que la implementación de datos básicos requerirá un gran esfuerzo.

+0

Para cualquier persona que encuentre este hilo en 2017+, la página vinculada anteriormente ya no existe . Creo que esta guía, ahora llamada [Guía de programación de preferencias y configuraciones] (https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/UserDefaults/Introduction/Introduction.html), es la versión actualizada. –

Cuestiones relacionadas