Обратный отсчет даты с локальными уведомлениями в зависимости от того, сколько недель осталось

Итак, я разрабатываю функцию в своем приложении, которая позволяет пользователю выбрать дату, скажем, 15 апреля, чтобы было понятно. Затем, когда осталось четыре недели, 18 апреля, выскакивает локальное уведомление и говорит: «Осталось четыре недели!». Когда остается две недели, 1 апреля, там написано: Осталось всего две недели. То же на неделю уехал, 8 апреля, говоря: "Только одна неделя сейчас!". Потом, когда остается три дня, 12 апреля, он говорит: «Все ближе, только три дня!». И, наконец, день 15 апреля со словами: «Сегодня твой день!».

Итак, может быть, немного длинное объяснение, но теперь вы знаете, в чем проблема. У кого-нибудь есть пример кода с кратким объяснением, чтобы я его понял или что-то в этом роде? Как базовый код для дальнейшего развития. Или, может быть, ссылку на учебник, потому что я ничего не могу найти.

Надеюсь, у кого-то есть время ответить на этот вопрос, я буду очень благодарен!

С уважением, Ойвинд Ларсен Рунестад.


person Øyvind L. Runestad    schedule 15.01.2013    source источник


Ответы (1)


Вы можете сохранить endDate в NSDate, and find the difference betweencurrentDateandendDate`.

NSDate *currentDate = [NSDate date];
NSDate *endDate = ...;
NSDateComponents *components = [gregorian components:NSMonthCalendarUnit | NSDayCalendarUnit fromDate:startDate  toDate:endDate  options:0];

int months = [comps month];
int days = [comps day];

После этого сделайте операторы if-else и на основе вашего условия покажите предупреждение или отправьте уведомление другому классу/объекту.

person Anoop Vaidya    schedule 15.01.2013
comment
Итак, чтобы прояснить это, так как я не силен в этом. 1. Я вставляю сборщик календаря и правильно его кодирую, затем я вставляю ваш приведенный выше код в ViewController.m, затем я кодирую пять UILocalnotifications, откуда я получаю информацию? Извините за все вопросы. - person Øyvind L. Runestad; 15.01.2013