Я конвертирую часть своего действительно старого кода из Objective C в Swift, и я наткнулся на это чудовище. Я не могу точно понять, что я здесь делаю. Глядя на документацию по этому методу rangeOfUnit, я остаюсь царапать голову.Что такое диапазон NSCalendarOfUnit: startDate: interval: forDate действительно работает?
Похоже, я просто выясняю, сколько дней существует между этими двумя датами, но это похоже на странный способ сделать это действительно.
NSDate *fromDate, *toDate;
[self.calendar rangeOfUnit:NSCalendarUnitDay startDate:&fromDate interval:0 forDate:event.startDate];
[self.calendar rangeOfUnit:NSCalendarUnitDay startDate:&toDate interval:0 forDate:event.endDate];
NSInteger difference = labs([self.calendar components:NSCalendarUnitDay fromDate:fromDate toDate:toDate options:0].day) + 1;