Je souhaite fournir l'accès à une base de données sqlite dans l'Objective C. Je ne veux pas que l'appelant s'inquiète de la DB elle-même et j'ai donc l'intention de faire quelque chose comme ça dans mon DataStore.m :Appeler sqlite3_close pour un handle sqlite3 * statique
#import "DataStore.h"
#import <sqlite3.h>
static sqlite3 *database = nil;
@implementation DataStore
+ (void) initialize {
if(self != [DataStore class])
return;
...
...
sqlite3_open(databasePath, &database);
}
+ (NSArray *) readWith:foo:bar {
...
}
+ (bool) writeWith:foo:bar {
..
}
maintenant, le problème avec la chose: je ne deviendrai jamais appeler sqlite3_close dans toute l'application. Cela n'a certainement pas l'air élégant. Comment pourrais-je améliorer cela? Une façon serait d'ouvrir et de fermer ma base de données sur chaque accès, et de se débarrasser de la poignée de DB statique. Combien cela coûterait-il?
PS: Je n'ai pas une solide expérience OO et donc si mon idée est mauvaise, je ne me dérange pas de changer complètement.
Merci! Travaillé comme un charme. – ArjunShankar