如何通过日期Swift NSPredicates过滤领域列表

时间:2019-07-06 15:47:50

标签: swift xcode filter realm nspredicate

我想按日期过滤我的领域列表。筛选器应按月向我显示所有列出的项目。我选择月份为“六月”,该应用程序应向我显示六月中出售的所有物品。

这是我尝试过的代码,但显然没有解决。

let date = Date()
        let format = DateFormatter()
        format.dateFormat = "yyyy-MM-dd"
        let formattedDate = format.string(from: date)
        print(formattedDate)


        let current = Calendar.current
        let componentDate = current.component(.month, from: date)
        print(current.component(.month, from: date))

        let articles = realm.objects(Article.self).filter("artSoldDate = \(componentDate)")
        return articles

1 个答案:

答案 0 :(得分:0)

您需要使用日期范围过滤器。您需要在特定日期开始范围,并在特定日期结束范围。例如,

let predicate = NSPredicate(format: "artSoldDate >= %@ AND artSoldDate <= %@", startDate, endDate)

let result = realm.objects(Art.self).filter(predicate)

您的示例似乎尝试检查artSoldDate的确切日期。