Pregunta

¿Hay alguna enfoque de "mejor práctica" para almacenar persistentes estáticas de datos para aplicaciones de iPhone?

Tengo una aplicación que lee un diccionario de aproximadamente 1.000 artículos muchos de los cuales son matrices. Empecé a cabo utilizando un único plist para esto y se ha convertido en algo difícil de manejar sobre todo porque gran parte de los valores son cadenas HTML.

¿Hay una mejor manera para mí para acercarse a este? Mi plan es escalar esta aplicación de manera significativa y que, obviamente, no quiero cambiar mi enfoque de la mitad del chorro.

He buscado en Google para iphone data storage y variantes, pero han quedado cortos para cualquier cosa, incluso tocando en una mejor práctica.

¿Fue útil?

Solución

Parece que se va a distribuir algunos datos con su aplicación. Una lista propiedad es probablemente el más fácil de mantener, pero se carga en la memoria a la vez. Esto podría comer una gran cantidad de memoria del dispositivo.

Una base de datos SQLite, por el contrario, se cargará sólo los datos que solicite. No estoy seguro de cómo se estructure sus datos, pero se puede crear muy fácilmente pares de valores clave con una sola tabla de base de datos. (Una sola tabla con una columna y una columna key value) Entonces, si fuera yo, me gustaría escribir una clase Objective-C para envolver las consultas de bases de datos para que pueda escribir declaraciones fáciles como:

NSString *welcomeText = [[MyData sharedData] dataWithKey:@"WelcomeText"];

Obtención de los datos en la base de datos, en primer lugar no tiene por qué ser difícil. Puede utilizar la utilidad de línea de comandos para sqlite3 mayor carga sus datos. Hay un comando llamado .import que importar los datos desde un archivo de texto.

Espero que esto ponga en movimiento en la dirección correcta!

Otros consejos

Me gustaría ir con una solución SQLite. Las aplicaciones que estoy trabajando ahora, que son sólo Apps para ayudarme a aprender el desarrollo del iPhone, en su mayoría todo el uso de SQLite. Yo uso el plugin para Firefox SQLite para ayudar con el mantenimiento de la base de datos, que funciona sorprendentemente bien. https://addons.mozilla.org/en-US/firefox/addon/ 5817

Mientras Alex sugirió el uso de una clase contenedora también sería el mejor camino a seguir.

No se olvide de 3,0 se puede utilizar una capa de datos básicos en torno a SQLite que puede hacer que sea más atractivo para usted.

Si no es necesario almacenar cualquier información relacional sobre sus datos, ¿por qué no utilizar los archivos? Habrá un poco de espacio desperdiciado sistema de archivos, archivos planos, pero podría ser la mayoría de la memoria y la solución eficiente de la CPU, dependiendo del tamaño y el número de sus artículos.

Yo nunca he desarrollado una aplicación para iPhone, pero he jugado un poco en el sistema de archivos. He visto a bases de datos SQLite flotantes en torno a diversos lugares del teléfono. Estoy bastante seguro de que utiliza una base de datos SQLite para almacenar las entradas de calendario.

Me gustaría utilizar SQLite. Ya está allí, fácil de usar, y proporcionará el camino más flexible para la expansión en el futuro.

Yo uso SQLite para los datos estáticos en mi iPhone aplicaciones todo el tiempo.

Todo lo que hice fue guardar el estado cuando la aplicación se cierra. He utilizado un archivo para eso.

SQLite suena perfecto para su aplicación. SQLite es bastante fácil. Lo he utilizado en aplicaciones de Adobe AIR.

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