2
我想提供访问目标C中的sqlite数据库。我不希望调用者打扰数据库本身,所以我打算在DataStore.m中做这样的事情:调用sqlite3_close获取静态sqlite3 *句柄
#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 {
..
}
现在整个事情的问题是:我永远不会在整个应用程序中调用sqlite3_close。它当然不会看起来优雅。我怎么能改善这个?
一种方法是在每次访问时打开和关闭我的数据库,并摆脱静态DB句柄。它会是多么昂贵? PS:我没有强大的OO背景,所以如果我的想法不好,我不介意完全改变它。
谢谢!像魅力一样工作。 – ArjunShankar 2010-02-24 08:47:02