我正在使用FMDB开发iOS App(轻松使用SQLite的数据库)。
为了创建和打开数据库,我写下了以下代码。
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *paths = [manager URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask];
NSURL *documentDirs = [paths lastObject];
NSURL *writableDBPath = [documentDirs URLByAppendingPathComponent:@"test.db"];
NSString *writableDBPathString = [writableDBPath path];
NSLog(@"DB path:%@",writableDBPathString);
FMDatabase *myDatabase = [FMDatabase databaseWithPath:writableDBPathString];
[myDatabase open];
运行我的Xcode Simulator后,上面的“NSLog”会显示以下信息,所以我想我可以获得收集路径。
2014-07-14 02:42:18.296 ninethtest[2064:a0b] DB path:/Users/myname/Library/Application Support/iPhone Simulator/7.0/Applications/D71C7BC8-8F01-486F-81FA-E1Exxxxxxx/Documents/test.db
但是,“NSURL * writableDBPath = [documentDirs URLByAppendingPathComponent:@”test.db“]会出现以下错误消息;”和“[myDatabase open];”在上面的代码中。
Thread1:EXC_BAD_ACCESS(code=2,address=0xbf7ffffc)
你能告诉我如何解决这个问题吗?
答案 0 :(得分:0)
我会尝试这样做以获取数据库路径。
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *dbPath = [documentsPath stringByAppendingPathComponent:@"testDB.sqlite3"];