Pregunta

Tengo una tabla (Diccionarios de diccionarios) para almacenar el mapeo de enteros a las cuerdas. Tengo tipos y subtipos. por ejemplo, tipo 1 => frutas y subtipo 1 => Apple.

El mapeo será configurable en mi interfaz de configuración, pero para el reinicio de la aplicación, es bastante estático. Así que no quiero leer de la lista de propiedades cada vez que reviso la asignación. Solo me gustaría leer una vez cuando el programa comience y solo escriba cuando el usuario cambia la configuración.

¿Dónde debo mantener esta mesa en tiempo de ejecución? Tengo dos enfoques en mente: (1) es poner la tabla completa como una variable en el delegado de la aplicación, en este caso, necesito usar ObjectForKey dos veces cada vez que necesito obtener una cadena. (2) es crear una clase con una variable estática (no estoy seguro de cómo hacerlo todavía) y usar el método de clase para obtener el mapeo EG +(NSString) Stringfortype: Subtype:

¿Podría evaluar estos dos enfoques o sugerir mejores soluciones? ¡Muchas gracias!

¿Fue útil?

Solución

Realmente no importa dónde lo pongas, siempre y cuando mantengas exactamente una copia, lo importante que debes ver es ValueForKeypath:. Si guarda en una Plist y le ahorra a la Plist regularmente, tiene el gran beneficio de la persistencia. Puedes obtenerlo automáticamente con el [NSUserDefaults standardUserDefaults]; objeto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top