关于FMDB的错误(Objective-c数据库库)

时间:2014-07-13 12:46:26

标签: objective-c fmdb

我正在使用FMDB开发iOS App(轻松使用SQLite的数据库)。

为了创建名为“test.db”的数据库,我正在写下以下代码来创建数据库的路径。

NSFileManager *manager = [NSFileManager defaultManager];
NSArray *paths = [manager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
NSString *documentDirs = [paths objectAtIndex:0];
NSString *writableDBPath = [documentDirs stringByAppendingPathComponent:@"test.db"];

当我使用Xcode Simulator进行测试时,出现以下错误。

2014-07-13 21:27:44.084 ninethtest[1481:a0b] -[NSURL stringByAppendingPathComponent:]: unrecognized selector sent to instance 0x8a5fdd0
2014-07-13 21:27:44.095 ninethtest[1481:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL stringByAppendingPathComponent:]: unrecognized selector sent to instance 0x8a5fdd0'

你能告诉我如何解决这个错误。

1 个答案:

答案 0 :(得分:0)

您正在混淆NSStringNSURL个对象。你想要:

NSURL *documentDirs = [paths objectAtIndex:0];
NSURL *writableDBPath = [documentDirs URLByAppendingPathComponent:@"test.db"];

如果FMDB API需要数据库路径的NSString对象,则可以使用以下命令从NSString对象中提取NSURL对象:

NSString *writableDBPathString = [writableDBPath path];