You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI+SQLite.swift:如何将排序语句存入变量?

SQLite.swift 动态排序变量的正确实现方式

在SQLite.swift中,email.asc、name.asc这类排序表达式的类型是Ordering,你可以将多个排序逻辑存入[Ordering]类型的数组变量中,再通过展开数组的方式传入order方法。

基础实现示例

// 定义排序变量,类型为[Ordering]
let orderStatement: [Ordering] = [email.asc, name.asc]
// 通过展开数组传入order方法
users.order(orderStatement...)

动态构建排序逻辑场景

如果需要根据条件切换排序规则,可以先初始化空数组,再按需添加排序表达式:

var orderStatement: [Ordering] = []
// 根据条件选择邮箱的排序方向
if needEmailDesc {
    orderStatement.append(email.desc)
} else {
    orderStatement.append(email.asc)
}
// 固定添加姓名的升序排序
orderStatement.append(name.asc)
// 执行带动态排序的查询
users.order(orderStatement...)

等价写法补充

SQLite.swift也提供了order(contentsOf:)方法,可直接传入数组,和展开数组的效果一致:

users.order(contentsOf: orderStatement)

内容的提问来源于stack exchange,提问作者piro299

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 23:40:56