Как настроить повторные уведомления UILocal в списке выбора будних дней

Я реализовал UILocal Notification по следующей ссылке

http://useyourloaf.com/blog/2010/07/31/adding-local-notifications-with-ios-4.html

И я изменил его, чтобы установить уведомления повтора на каждый день с помощью

//To set the repeat notification
            notif.repeatInterval = NSDayCalendarUnit;

Например, ex Каждый день в 10.00.

Но мое требование заключается в том, что пользователь должен установить уведомление на выбранные дни недели (с понедельника по субботу)

почему, потому что у пользователя могут быть еженедельные праздники, такие как (суббота и воскресенье) / пятница - воскресенье) / некоторые другие дни..

на week offs he shouldn't fire the notifications.

Поэтому мы желаем, чтобы пользователь установил выбранные рабочие дни, а уведомления будут устанавливаться только в эти дни... после того, как пользователь установит уведомления.

For ex:

у нас есть список дней недели, вс, понедельник, вторник, ср, чт, пт, суббота

на них пользователь выбирает понедельник, вторник, среду, четверг. и установить в 10 утра

Тогда уведомление будет срабатывать каждый день 10. утра этих дней.

Как это сделать

1 ответ

API для UILocalNotification очень ограничен в этом отношении - вам придется вручную планировать 4 события, повторяющихся еженедельно в дни, выбранные пользователем.

Пример планирования повторного таймера на понедельник будет выглядеть следующим образом

NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.weekday = 2; // sunday = 1 ... saturday = 7
dateComponents.hour    = 10;

UILocalNotification *notification = //...
notification.repeatInterval = NSWeekCalendarUnit;
notification.fireDate       = [calendar dateFromComponents:dateComponents];

Номера дней могут быть найдены в Ссылке класса NSDateComponents

Другие вопросы по тегам