0

i need to create one local notification for sunday (then repeat every week) but user can set time from date picker.. Could someone check what is wrong and say what is the best way to do this ?

Thanks in advance.

-(IBAction) setAlarm:(id)sender {

NSDate *pickerDate = [dateTimePickerSet1 date];

NSCalendar *gregCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponent = [gregCalendar components:NSYearCalendarUnit  | NSMonthCalendarUnit| NSWeekCalendarUnit | NSWeekdayCalendarUnit fromDate:[NSDate date]];
NSDateComponents *timeComponents = [gregCalendar components:( NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:pickerDate];

NSDateComponents *newComponents = [[NSDateComponents alloc]init];


[newComponents setWeekday:1];// Sunday   <<< i need help for that part i think!
[newComponents setMonth:[dateComponent month]];
[newComponents setYear:[dateComponent year]];
[newComponents setHour:[timeComponents hour]];
[newComponents setMinute:[timeComponents minute]];

NSDate *fireDate = [gregCalendar dateFromComponents:newComponents];
Rick
  • 65
  • 2
  • 6

1 Answers1

0

I needed to do this awhile back and found this answer. iPhone SDK, how to get NSDate object of coming friday's 20:00?

Notice how he computes day of the week. It is a bit more complicated than one would think. But it worked for me.

Community
  • 1
  • 1
John Green
  • 504
  • 2
  • 7
  • thank you @John Green but yes it is little bit complicated for me. Actually this method is worked for me :[dateComponent setWeekday:1]; [dateComponent setHour: ]; [dateComponent setMinute: ]; and i just need to select "hour" and "minute" from date picker some how.. – Rick Feb 02 '14 at 19:56