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