在NSM中筛选Realm中的查询会引发NSInvalidArgumentException
我到处寻找,甚至用一些永不消失的病毒警告信息打到一些可疑的网站,我无法弄清楚这一点。
我只是试图按date筛选Results<T>
对象:
let messages = realm.objects(RMChatMessage).filter("timestamp > \(date)) AND (timestamp <= \(to))"))
而且每当这条线路运行时,就会产生以下结果:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "timestamp > 1970-01-01 00:00:00 +0000"' *** First throw call stack: ( 0 CoreFoundation 0x000000010fba8c65 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000011174ebb7 objc_exception_throw + 45 2 Foundation 0x000000010ffb66bd _qfqp2_performParsing + 8495 3 Foundation 0x000000010ffb4526 +[NSPredicate predicateWithFormat:arguments:] + 46 ...
我尝试使用NSDateFormatter
格式如yyyy-MM-dd hh:mm:ss
或date.description
,使用NSPredicate(format:...)
而不是Result<T>.filter(...)
等等,但没有任何工作。
这是Realm中的一些错误吗?
let messages = realm.objects(RMChatMessage).filter("timestamp > %@ AND timestamp <= %@", date, to)
NSPredicate
对Swiftstring插值没有任何特殊处理,并且不支持在格式string中直接写入date。