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
相关产品推荐
相关产品推荐

