gpt4 book ai didi

ios - 使用 SharkORM 从本地包读取 SQLite 数据库

转载 作者:行者123 更新时间:2023-11-30 10:57:15 24 4
gpt4 key购买 nike

我是 iOS 开发新手,我想读取存储在应用程序包中的数据库 SharkORM 。我找到了 getCustomSettings() 委托(delegate),但我认为我使用了错误的方法。它在其他地方创建了新的数据库,但它是空的。

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, SRKDelegate {
private static let DatabaseName : String = "data"
private static let DatabaseType : String = "db"

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
SharkORM.setDelegate(self)
SharkORM.openDatabaseNamed("data")
return true
}

// MARK: SharkORM

func getCustomSettings() -> SRKSettings {
let settings = SRKSettings()
let databaseURL = URL(fileURLWithPath: Bundle.main.path(forResource: AppDelegate.DatabaseName, ofType: AppDelegate.DatabaseType)!)
settings.databaseLocation = databaseURL.deletingLastPathComponent().path
return settings
}
}

我的数据库文件名为data.db,它存储在项目的Resources/Database文件夹中。

谁能告诉我出了什么问题吗?有人可以给我提供工作示例吗?

最佳答案

SharkORM 需要对数据库进行 R/W 访问,实际情况是您需要:

1) 确保它是 SharkORM 兼容的数据库文件,例如所有属性类型、名称和主键都与对象模型匹配(必须具有 Id PK 列)。

2) 在启动时将数据库从 bundle 中复制到 r/w 目录中以供使用。 R/O 是可能的,但实现起来更困难。

如果仅从查询中引用表,您还可以使用 rawExecute 函数来使用 ATTACH 命令。

关于ios - 使用 SharkORM 从本地包读取 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53814781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com