gpt4 book ai didi

swift - 按日期排序的 Realm 子查询

转载 作者:行者123 更新时间:2023-11-28 10:56:51 37 4
gpt4 key购买 nike

我有以下模型:

class User: Object {
dynamic var name = ""
let events = List<Event>()
}

class Event : Object {
dynamic var description = ""
let dates = List<Date>()
}

class Date : Object {
dynamic var date = "" //string
}

是否有任何好的方法来查询/过滤结束日期为当前日期的(一个)事件?如果不可能,应该如何修改模型,我看到子查询仅适用于 @count 即 realm.objects(Company.self).filter("employees.@count > 5")

最佳答案

遗憾的是 date 不是 NSDate 属性,因为您可以轻松地按降序排序,然后使用 LinkingObjects 来查找 Date 对象所属的 Event:

class Event : Object {
dynamic var description = ""
let dates = List<Date>()
}

class Date : Object {
dynamic var date = NSDate()
let events = LinkingObjects(fromType: Event.self, property: "dates")
}

let realm = try! Realm()
let latestDate = realm.objects(Date.self).sorted("date", ascending: false).first
let latestEvent = latestDate.events.first

不幸的是,因为 date 是一个字符串,所以这可能行不通。您可以尝试在 date 上使用 sorted(),但它会按字母顺序排序,而不是按时间顺序排序,因此您可能无法获得最新日期。

如果是这种情况,您将需要通过每个 Date 对象手动实现一个循环,对其进行解析并自行执行排序。

关于swift - 按日期排序的 Realm 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43001650/

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