• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - DBAccess 创建自定义 DBAccessSettings

[复制链接]
菜鸟教程小白 发表于 2022-12-13 05:01:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在测试 DBAccess 以查看是否可以在项目中使用它。我在更改 sqlite 文件的位置时遇到问题,我希望它位于缓存目录中。这是我迄今为止在 AppDelegate.m 中编写的部分代码:

- (DBAccessSettings*)getCustomSettings {
    DBAccessSettings *settings = [[DBAccessSettings alloc] init];
    NSURL *applicationCachesDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] lastObject];
    settings.databaseLocation = [applicationCachesDirectory absoluteString];
    settings.defaultDatabaseName = @"myDefaultDB";
    return settings;
}

- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)launchOptions {
    [DBAccess setDelegate:self];
    [DBAccess openDatabaseNamed"NSURLProtocolExample"];    
    [NSURLProtocol registerClass:[MyURLProtocol class]];
    return YES;
}

但是使用上面的代码,我收到以下错误消息:

错误>>无法打开数据库文件

你能在这里解释一下吗?



Best Answer-推荐答案


我不熟悉 DBAccess,但你有以下几行:

NSURL *applicationCachesDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] lastObject];
settings.databaseLocation = [applicationCachesDirectory absoluteString];

这将检索 URL 字符串(以 file:// 开头的字符串),而不是文件路径。如果你想要那个文件夹的路径,你想使用 path:

settings.databaseLocation = [applicationCachesDirectory path];

坦率地说,the documentation关于它是否期望 URL 字符串或路径是模棱两可的,但我认为它期望后者。

关于ios - DBAccess 创建自定义 DBAccessSettings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28154376/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap