/ / Swift: филтриране на NSDate по интервали от време - ios, swift, datepicker, nsdate, nscalendar

Swift: Филтриране на NSDate по интервали от време - ios, swift, datepicker, nsdate, nscalendar

Имам масив с NSDate() че потребителят добавя с datePicker, тогава тези дати трябва да бъдат филтрирани по текуща седмица, текущ месец и година. Опитах да използвам NSCalendar но не успях да го направя. Искам да групирам това NSDates в различни масиви в зависимост от интервала от време, в който се намират.

Отговори:

0 за отговор № 1

Един от начините е просто да използвате NSPredicate:

NSArray *arrayOfDates = @[
[NSDate dateWithTimeIntervalSince1970:0],
[NSDate dateWithTimeIntervalSince1970:100],
[NSDate dateWithTimeIntervalSince1970:200]
];

NSDate *leftLimit = [NSDate dateWithTimeIntervalSince1970:50];
NSDate *rightLimit = [NSDate dateWithTimeIntervalSince1970:150];
NSPredicate *dateIntervalPredicate = [NSPredicate predicateWithFormat:@"self > %@ && self < %@", leftLimit, rightLimit];
NSArray *result = [array filteredArrayUsingPredicate:dateIntervalPredicate];
NSLog(@"Result: %@", result);

Разбира се, можете да го превърнете в функция, това е само пример.