我刚刚发现了Realm并开始在Objective-c中使用它。
我试图让物体,其中 create_date
前 specific date and time
我在StackOverflow上阅读了此答案,所以我尝试了以下方法:
NSString *dateString = @"2015-06-03 08:24:00";
NSDateFormatter * dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *newDate = [dateFormatter dateFromString:dateString];
RLMRealm *realm = [RLMRealm defaultRealm];
NSString *_where = [NSString stringWithFormat:@"create_date < '%@'", newDate];
RLMResults *results = [database_articles objectsInRealm:realm where:_where];
但我收到以下错误:
'在类型'database_articles'的对象上为属性'created'的属性的日期类型的预期对象,但收到:2015-06-03 05:24:00 +0000'
那么如何在Realm的查询中传递NSDATE呢?
提前致谢 ..
您使用了method + (RLMResults *)objectsInRealm:(RLMRealm *) where:(NSString *), ...;
,它是一种便捷的API,它接收字符串和更多参数,并NSPredicate
为您即时构造一个。通过首先向提供参数[NSString stringWithFormat:]
,您可以序列化日期,以便处理此错误。
使用这两种变体之一可以避免这种情况:
RLMResults *results = [database_articles objectsInRealm:realm where:@"create_date < %@", newDate];
NSPredicate *_where = [NSPredicate predicateWithFormat:@"create_date < %@", newDate];
RLMResults *results = [database_articles objectsInRealm:realm withPredicate:_where];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句