swift - GRDB 访问列值

标签 swift sqlite grdb

我在 Swift 4 中使用 GRDB 来访问 Double 类型值的两列(“col1”、“col2”)。

例如:

let value = Double.fetchAll(db,"SELECT col1, col2 FROM table1")

这应该返回一个包含两列 double 值的表。我想知道是否有一种方法可以按列提取结果而不逐行迭代?使用上面的方法我可以获得 col1 的数组,但不能同时获得两者。

最佳答案

如果需要行,则必须逐行迭代。基本逻辑是无法逃避的。

像下面这样怎么样:

// [(Double, Double)]
let pairs = try Row
    .fetchAll(db, "SELECT ...")
    .map { row in
        (row[0] as Double,
         row[1] as Double)
    }

关于swift - GRDB 访问列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48651670/

相关文章:

mysql - 如何设计电影数据库?

ios - 在 GRDB 和 Swift 3 中使用 rows.next() 编译错误

ios - 图片 URL 不缓存

multidimensional-array - Swift、SpriteKit 和带有 CGPoint 的多维数组

ios - 动画 View 从右向外和从左向内

ruby-on-rails - SQLite3安装问题

ios - 都是同步的,但是为什么 "ignoring”函数的NotificationQueue可以重复通知呢?

php - Windows 上 php pdo 的 sqlite 正确路径/URI

swift - 在 Playground 上运行 GRDB

ios - ViewController 中的 SQLite 错误 14