我有一个对象数组,我需要按日期(它是我对象的属性的日期)按NSPredicate排序
这是我的对象
@interface Object:NSObject
@property (nonatomic, strong) NSDate *date;
@property (nonatomic, strong) NSString *open;
@end
@implementation Object
- (instancetype)initWithDictionary:(NSDictionary *)dictionary {
self = [super init];
if (self) {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-mm-yyyy"];
self.date = [dateFormatter dateFromString:[dictionary objectForKey:@"date"]];
self.open = [dictionary objectForKey:@"open"];
}
return self;
}
@end
我有一个Array ob对象,例如
NSArray <Object *> *allData
我需要按日期将数据过滤到allData中。但是当我尝试创建NSPredicate时
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(date >= %@) AND (date <= %@)", firstDate, lastDate];
NSArray <Stock *> *result = [self.allData filteredArrayUsingPredicate:predicate];
我得到一个错误。 我不确定是否可以按日期创建谓词。
这是将数据保存到对象的示例。
[
{
"date": "5-Februrary-2020",
"open": 52.09
},
{
"date": "6-January-2020",
"open": 5424
},
...
]
我转换为NSdate的日期。
我希望开始日期和结束日期之间有一个子范围。