目前,我有rainy
个Transaction
的对象:
transactionDate
我有很多这些对象,我只需删除旧的(超过两年),所以我写道:
class Transaction: Object {
@objc dynamic var transactionDate: String = "" // yyyy-MM-dd
}
但是我得到一个例外:
无效的运算符类型',原因:'运算符'<'不支持字符串类型。
我不能将// Since now is 2017-09 I need to delete all objects before 2015-09
// calculations are out of scope here I think :)
realm.objects(Transaction.self).filter("transactionDate < '2015-09-30'")
运算符用于字符串。我该如何搜索
这些旧字符串? (所以我可以删除它们)
答案 0 :(得分:0)
您不能将<
用于字符串。可能更好的方法是使用Collection
的{{1}}方法。您可以通过闭包传递条件,然后可以将字符串对象转换为filter
对象。如下所示:
Date
缺点:它没有使用Realm的本机查询,因此Realm的延迟加载不起作用。但这不是一个问题,因为我认为这个过程不会被多次调用。