5

I wprowadziły UILocal Notification korzystając z poniższego linkuJak ustawić powtarzania UILocal Powiadomienia na liście wyboru dni tygodnia

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

i mam zmodyfikowano go ustawić powiadomienia repet na każdy dzień stosując

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

Dla exampke ex codziennie o 10.00

Ale mój wymóg jest użytkownik needsto ustawić powiadomienia na wybrane dni tygodnia (od poniedziałku do soboty)

dlaczego ponieważ użytkownik może mieć tygodniowe wakacje podobnych (sobota i niedziela)/piątek - niedziela)/tam inne dni ..

na week offs he shouldn't fire the notifications.

Więc felicitate użytkownikowi ustawić wybrane dni roboczych i powiadomienia będą ustawione w tych dniach tylko raz .. użytkownikowi ustawić zgłoszeń w kationy.

For ex:

mamy listę dni robocze Sun, Mon, Tue, Wed, czw, pt, sobota

na tych użytkownik wybiera poniedziałek, wtorek, środa, czwartek. i ustawić na 10 Am

Następnie powiadomienie będzie uruchamiane każdego dnia 10.AM tych dni.

Jak to zrobić

Odpowiedz

8

API dla UILocalNotification jest bardzo ograniczony w tym względzie - będziesz musiał ręcznie zaplanować 4 zdarzenia powtarzający się co tydzień na dni, w których wybiera użytkowników.

Przykładem planowania powtarzania czasowy dla poniedziałku będzie wyglądać następująco

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]; 

Numery dobę można znaleźć w NSDateComponents Class Reference

+0

Od NSWeekCalendarUnit obecnie amortyzowane, co jest właściwym sposobem, aby zaplanować cotygodniowe powtórzenia ? –

+0

W dokumentach w pobliżu, gdzie pokazuje, że jest to przestarzałe, jest napisane: Użyj NSCalendarUnitWeekOfMonth lub NSCalendarUnitWeekOfYear zamiast tego. –

+0

Próbowałem obu, ale żaden z nich nie zadziałał. –