领域过滤器 firstDate 旧于 newDate

Realm filter firstDate older then newDate

我正在尝试从领域获取对象,其中 newDate 晚于 firstDate。因此,如果 firstDate 的日期是 05.10.2017,它将在该日期之后获取对象,例如 06.10.2017,而不是 04.10.2017。

这是我存储日期的方式:

class User: Object {
    @objc dynamic var firstDate = Date()
    @objc dynamic var newDate = Date()
}

这就是我保存对象的方式:

let date = Date()
let realm = try! Realm()
let myUser = User()

myUser.firstDate = self.date

这就是我尝试检索对象的方式:

var userData: Results<User>?
if (homeIndexPathRow == 0) {
    let getData = realm.objects(User.self).filter("firstDate > newDate")
    userData = getData
    print("userData", userData!)
}

当尝试检索对象时,应用程序崩溃了。是否过滤器格式有问题?

试试这个:

var yourNSDate = NSDate()
let predicate = NSPredicate(format: "firstDate < %@", yourNSDate)
let dataResults = realm.objects(User.self).filter(predicate)
userData = dataResults

用下面的代码替换它 if (homeIndexPathRow == 0) { ...