У меня есть массив объектов, и мне нужно отсортировать по 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];
, я получаю сообщение об ошибке. Я не уверен, можно ли создать предикат по дате.
Это пример данных для сохранения в Object.
[
{
"date": "5-Februrary-2020",
"open": 52.09
},
{
"date": "6-January-2020",
"open": 5424
},
...
]
Дата I преобразовать в NSdate.
Я ожидаю поддиапазона между начальной и конечной датами.