我正在使用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'
你能告诉我如何解决这个错误。
答案 0 :(得分:0)
您正在混淆NSString
和NSURL
个对象。你想要:
NSURL *documentDirs = [paths objectAtIndex:0];
NSURL *writableDBPath = [documentDirs URLByAppendingPathComponent:@"test.db"];
如果FMDB API需要数据库路径的NSString
对象,则可以使用以下命令从NSString
对象中提取NSURL
对象:
NSString *writableDBPathString = [writableDBPath path];