2009-05-04 4 views
0

Je n'ai pas encore assez de "Stack Overflow fu" pour avoir déjà trouvé une réponse à cette question. Une de mes applications a ses données dans une base de données SQLite et j'ai utilisé l'exemple Apple SQLiteBooks comme source d'inspiration principale - cependant, SQLiteBooks n'a qu'une seule table et une seule vue. J'ai plusieurs tables (connexes) accessibles en tant que vues distinctes dans une barre d'onglets - par exemple. Livres de cuisine, recettes, ingrédients, ustensiles, etc. Quelques problèmes avec l'exemple de code:Référence multiples tables sqlite sur iPhone?

1) Il semble que l'exemple de code initialise trop tôt (en applicationDidFinishLaunching: quand je me penche vers viewDidLoad :)

2 Les chaînes de requête SQL statiques doivent être différentes par classe (en revanche, elles ne diffèrent généralement que par la table consultée, donc est-ce que je peux utiliser "?" Dans la chaîne statique et lier l'ID de table si nécessaire?)

3) Si je suis l'exemple du code de TheElements, qui utilise les plistes comme magasin de données, il me semble passer trop de temps et de mémoire à «pré-construire» les sources de données des onglets non encore vus. Est-ce que quelqu'un a des pointeurs vers les meilleures pratiques pour savoir comment/où définir plusieurs instances de la classe unique à partir de l'exemple tout en gardant les performances élevées et la mémoire faible?

Répondre

2

Vous ne pouvez pas utiliser? pour lier les noms de tables, uniquement les valeurs de la requête.

Je vous suggère de jeter un oeil à FMDB qui est un wrapper SQLite dans Objective-C. Avec cela, vous pouvez facilement faire interroger différents objets sur les bases de données (une sorte de ORM développé localement).

Il existe quelques implémentations ActiveRecord dans Objective-C que vous pouvez consulter, mais je ne les ai pas utilisées.

+0

Merci ... J'ai regardé ceci et OmniDataObjects une fois, mais je pensais qu'ils étaient exagérés pour les exigences. Je vais regarder à nouveau. Je suis à l'aise avec l'accès à la base de données en tant que base de données (par rapport aux objets persistants) - je veux juste m'assurer que je le fais de manière efficace. – iPhoneDollaraire

Questions connexes