我在编写iPhone应用程序时遇到了打开sqlite数据库的问题。我认为我完全按照教程操作,但出现了“内存不足”错误。
-(NSString *) filepath{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
return [[paths objectAtIndex:0] stringByAppendingPathComponent:@"db.sqlite"];
}
-(sqlite3*)openDB{
if(db == NULL){
sqlite3 *newDBConnection;
if(sqlite3_open([[self filepath] UTF8String], &newDBConnection) != SQLITE_OK){
sqlite3_close(db);
NSLog(@"%s SQL error '%s' (%1d)", __FUNCTION__, sqlite3_errmsg(db), sqlite3_errcode(db));
db = NULL;
}
else{
NSLog(@"db opened");
}
}
return db;
}
DB是一个ivar,在初始化方法中我调用了db = [self openDB];
。
NSFileManager
确认db.sqlite
文件是否存在。 - rmaddysqlite3
打开文件? - Hot Licks