gpt4 book ai didi

ios - NSPredicate 每个父项一个子项

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

我正在使用 Realm 将所有数据存储在我的应用中。

我有一个商店商品,其中包含促销 ID 列表和一个促销,其父属性是商店的 ID。

我现在过滤每一个可用的促销事件,我想再添加一个过滤器,这样结果列表中每个商店只包含一个促销事件。

我怎样才能完成筛选,让每个商店只能获得一个可用的促销事件?

谢谢!//金

//编辑

let startDate: Double = currentDate.timeIntervalSince1970
let endDate: Double = currentDate.timeIntervalSince1970

let parentPredicate = NSPredicate(format: "")
let datePredicate = NSPredicate(format: "SUBQUERY(dates, $d, $d.start <= \(startDate) && $d.end >= \(endDate)).@count > 0")

self.realm?.objects(CSPromotions.self).filter(datePredicate).filter(parentPredicate)

最佳答案

Swift Realm currently doesn't natively support distinct ,所以没有很好的方法来做到这一点。您可以做的是手动构建一个不同值的数组:

let shops = NSMutableSet()
let promotions = self.realm?.objects(CSPromotions.self).filter(datePredicate).filter(parentPredicate).filter {
let id = $0.shop.id
if shops.contains(id) {
return false
}
shops.add(id)
return true
}

关于ios - NSPredicate 每个父项一个子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40585823/

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