gpt4 book ai didi

swift - 使用 Swift 以编程方式设置 Realm 查询过滤器

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

是否可以以编程方式设置 Realm 查询过滤器?

背景
我的应用程序是一个基于习惯的应用程序,可连续 7 天签到;连续签到 7 天 = 1 次连续签到。

在对象“Streak”中,有名为:

第 1 天 |第 2 天 | ... |第七天

查询示例如下:

let todayCheckIn = realm.objects(Streak).filter("Day1" == 1).sorted("StartDate").last

这是检查 Realm 对象 Streak 以及用户是否已“ checkin ”(由 Day1 列中的 1 表示)。

我可以使用一系列 If/Else 语句来选择查询,但我更希望让 Swift 确定要过滤的列,并以编程方式设置 - 仅使用一个查询

例如

let day = "Day1"
let todayCheckIn = realm.objects(Streak).filter(day == 1).sorted("StartDate").last

我已经尝试过:

let todayCheckIn = realm.objects(Streak).filter(\(day) == 1).sorted("StartDate").last

但这也行不通。

有没有一种方法可以像这样以编程方式设置 Realm 查询过滤器?

非常感谢!

最佳答案

filter() 采用 NSPredicate 格式字符串,该字符串支持动态提供的键名称的 %K:

let day = "Day1"
let todayCheckIn = realm.objects(Streak).filter("%K = 1", day).sorted("StartDate").last

关于swift - 使用 Swift 以编程方式设置 Realm 查询过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35446518/

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