Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将应用程序从SQLite.swift转换为GRDB.swift第二个问题_Swift_Xcode_Sqlite.swift_Grdb - Fatal编程技术网

将应用程序从SQLite.swift转换为GRDB.swift第二个问题

将应用程序从SQLite.swift转换为GRDB.swift第二个问题,swift,xcode,sqlite.swift,grdb,Swift,Xcode,Sqlite.swift,Grdb,我正在继续将我的许多应用程序从SQLite.sift转换为GRDB.swift。 我将我的结构转换为添加Codable、FetchableRecord,以便更好地使用GRDB。这是在回复我关于这个主题的第一篇文章时提出的 struct FigureList: Codable, FetchableRecord { let figID: Int64 var notes: String? var theDescription: String var obrienNum:

我正在继续将我的许多应用程序从SQLite.sift转换为GRDB.swift。 我将我的结构转换为添加Codable、FetchableRecord,以便更好地使用GRDB。这是在回复我关于这个主题的第一篇文章时提出的

struct FigureList: Codable, FetchableRecord
{
    let figID: Int64
    var notes: String?
    var theDescription: String
    var obrienNum: String
    var manufNum: String?
    var catagory: String?
}
这是一段代码,我正在寻找帮助重做,以便它将与GRDB一起工作。我的应用程序使用这种类型的代码从数据库表构建数组。非常标准的过程

static func getFigureList() -> [FigureList]
{
    var theArray = [FigureList]()
    let theTable = Table(gTheCollection)

    let figID = Expression<Int64>("FigureID")
    let notes = Expression<String>("Notes")
    let theDescription = Expression<String>("theDescription")
    let obrienNum = Expression<String>("ObrienNum")
    let manufNum = Expression<String>("ManufNum")
    let theCatagory = Expression<String>("Category")

    do {
        for figures in try Database.shared.databaseConnection!.prepare(theTable.order(obrienNum)) {

            theArray.append(FigureList(figID: figures[figID],
                                       notes: figures[notes],
                                       theDescription: figures[theDescription],
                                       obrienNum: figures[obrienNum],
                                       manufNum: figures[manufNum],
                                       catagory: figures[theCatagory]))
        }
    } catch {
        print("Fetching figure list failed: \(error)")
    }
    return theArray
}
我将我的结构转换为添加Codable、FetchableRecord,以便更好地使用GRDB

好。现在很简单:

static func getFigList() throws -> [FigureList] {
    return try Database.shared.databaseConnection!.read { db in
        // SELECT * FROM FigureList ORDER BY ObrienNum
        return FigureList.order(Column("ObrienNum")).fetchAll(db)
    }
}

我知道不建议在StackOverflow答案中发送指向文档的链接。但很明显,您没有充分检查GRDB文档。像您这样的用例在文档中有非常详细的介绍。把它放在你这边!
static func getFigList() throws -> [FigureList] {
    return try Database.shared.databaseConnection!.read { db in
        // SELECT * FROM FigureList ORDER BY ObrienNum
        return FigureList.order(Column("ObrienNum")).fetchAll(db)
    }
}