iOS中关于读取已存在的数据库问题:路径为空的解决方法
2016-02-24 14:35
579 查看
摘要: 读取db文件时遇到的问题:拖入到工程中的db文件,读取的时候一直提示路径为空
今天在做一个数据库时遇到一个很奇葩的问题,导入一个db数据库,我的思路是这样的,因为如果要对数据库进行操作,需要先把这个数据库拷贝一份到沙盒中,但是当我用这个方法
时,却遇到很奇葩的问题,一直提示backupDbPath为nil,找了一上午快被折磨疯了,终于找到症结所在,原来是苹果捣的鬼,在拖入db文件到工程时,苹果默认把add Target前面的勾给去掉了!!!导致无论如何也找不到我们导入的db文件,so,解决方法就是:
把db文件从工程中删除,然后重新拖进去,当弹出窗口时,别着急着看都没看就点next,把add Target前面的勾勾上,然后就会发现,真的好了!
问题很简单,却困扰了我很久,特记录在此,需要勾上的不止copy item,还有add Target,警告自己时刻细心细心再细心,也希望能帮到遇到同样问题的朋友。
图片好像没有显示出来,大家凑合着看吧。奉上我的一部分代码:
今天在做一个数据库时遇到一个很奇葩的问题,导入一个db数据库,我的思路是这样的,因为如果要对数据库进行操作,需要先把这个数据库拷贝一份到沙盒中,但是当我用这个方法
NSString *backupDbPath = [[NSBundle mainBundle] pathForResource:@"ICD10" ofType:@"db"];
时,却遇到很奇葩的问题,一直提示backupDbPath为nil,找了一上午快被折磨疯了,终于找到症结所在,原来是苹果捣的鬼,在拖入db文件到工程时,苹果默认把add Target前面的勾给去掉了!!!导致无论如何也找不到我们导入的db文件,so,解决方法就是:
把db文件从工程中删除,然后重新拖进去,当弹出窗口时,别着急着看都没看就点next,把add Target前面的勾勾上,然后就会发现,真的好了!
问题很简单,却困扰了我很久,特记录在此,需要勾上的不止copy item,还有add Target,警告自己时刻细心细心再细心,也希望能帮到遇到同样问题的朋友。
图片好像没有显示出来,大家凑合着看吧。奉上我的一部分代码:
NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES); NSString *doc = [searchPaths objectAtIndex:0]; NSString *dbFilePath = [doc stringByAppendingPathComponent:@"ICD10.db"]; NSFileManager *fm = [NSFileManager defaultManager]; BOOL isExist = [fm fileExistsAtPath:dbFilePath]; if (!isExist) { //拷贝数据库 //NSString *backupDbPath =[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"ICD10.db"]; NSString *backupDbPath = [[NSBundle mainBundle] pathForResource:@"ICD10" ofType:@"db"]; NSError *error = [[NSError alloc] init]; BOOL cp = [fm copyItemAtPath:backupDbPath toPath:dbFilePath error:&error]; if (cp) { NSLog(@"数据库拷贝成功"); }else{ NSLog(@"数据库拷贝失败: %@",[error localizedDescription]); } }
相关文章推荐
- 数据库拷贝方法
- mysql数据库拷贝到另一个服务器上
- mysql 5.5.37版本没有my.cnf配置文件解决方法
- mysql逻辑备份2种方案
- oracle with as 用法 和 wm_concat 用法
- oracle 物化视图导入导出报错
- Oracle User Calls 和 Executions 两个概念的区别
- Redis的内部结构
- SQL Server中,varchar和nvarchar如何选择
- mysql基础--自定义function/procedure
- redis命令的请求、处理和结果返回
- redis客户端连接到服务器
- redis服务器初始化化
- redis.conf配置文件说明
- mysql 常用函数
- MySQL Varchar的新认识
- Redis学习笔记一
- 利用rowid删除数据,提升性能
- MySQL中同时存在创建和上次更新时间戳字段解决方法浅析
- MongoDB 之 角色权限