fmdb文档说如果你将文件系统路径传递给databaseWithPath:它会为你创建一个文件:
我使用以下代码获取文件系统路径:
[[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"] stringByAppendingPathComponent:@"file.db"];
尝试像这样设置我的数据库:
FMDatabase *aDB = nil;
if (aLanguageDBPath) {
aDB = [FMDatabase databaseWithPath:aLanguageDBPath];
}
结果是一个有效的FMDatabase对象,该对象未按照公布的方式写入磁盘。我是否误解了文档中的解释?我该如何动态创建dbs并将其写入磁盘?
谢谢!
答案 0 :(得分:1)
刚发现在调用[db open];
之前,db实际上并未在磁盘上生成。
答案 1 :(得分:0)
尝试使用NSDocumentDirectory。使用以下命令更改您的路径代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES);
NSString dbPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"file.db"];