2013-08-22 5 views
0

캘린더에 반복적 인 이벤트를 만들려고합니다. EKRecurrenceRule을 생성하고 해당 이벤트로 설정했습니다. 하지만 내 재발 규칙에 따라 이벤트가 생성되지는 않습니다. 이 코드 이벤트 여기 EKEvent가 EKRecurrenceRule에 따라 추가되지 않았습니다.

내 코드는

,

 //just creating a recurrence rule for RRULE:FREQ=YEARLY;BYMONTH=6,7;BYDAY=1TH 
     // setting the values directly for testing purpose. 

     EKRecurrenceEnd *endRecurrence = nil;           
     NSMutableArray *monthsOfTheYearArray = [NSMutableArray array];    
     NSMutableArray *daysOfTheWeekArray = [NSMutableArray array]; 

     //BYMONTH=6,7 (6 for june, 7 for july) 
     [monthsOfTheYearArray addObject:[NSNumber numberWithInt:6]]; 
     [monthsOfTheYearArray addObject:[NSNumber numberWithInt:7]]; 

     //BYDAY=1TH 
     [daysOfTheWeekArray addObject:[EKRecurrenceDayOfWeek dayOfWeek:5 weekNumber:1]]; 
     endRecurrence = [EKRecurrenceEnd recurrenceEndWithEndDate:[self dateFromString:@"2018-12-15T22:30+06:00"]]; 


     //create the recurrence rule here 
     EKRecurrenceRule *recurrence = [[EKRecurrenceRule alloc] initRecurrenceWithFrequency: EKRecurrenceFrequencyYearly 

                        interval:1 
                       daysOfTheWeek:daysOfTheWeekArray 
                       daysOfTheMonth:nil 
                      monthsOfTheYear:monthsOfTheYearArray 
                       weeksOfTheYear:nil 
                       daysOfTheYear:nil 
                       setPositions:nil 
                         end:endRecurrence]; 



     //setting the values for creating the event here 
     EKEventStore *eventStore = [[EKEventStore alloc] init]; 
     EKEvent *event = [EKEvent eventWithEventStore:eventStore]; 
     event.title = @"testRecurrenceRule"; 
     event.location = @"Dhaka"; 
     [event setCalendar:[eventStore defaultCalendarForNewEvents]]; 
     event.startDate = [self dateFromString:@"2013-06-18T21:00:00+06:00"]; 
     event.endDate = [self dateFromString:@"2013-06-18T22:00:00+06:00"]; 
     [event addRecurrenceRule: recurrence]; 

     //save the event into calendar. 
     [self saveTheEvent:event eventStore:eventStore]; 

은 월이 생략되는 이유는 달 6 월 각 1 일 목요일, 각각에 생성되고있다?
내가 설정 한 반복 규칙에 따라 이벤트가 생성되지 않는 이유를 알려주십시오.

답변

0

확인. 문서 EKRecurrenceDayOfWeek Class Reference에서는주의

하루가 선택적으로 재발 규칙의 주파수에서 특정 날짜를 나타내는, 일주일을 가질 수 말합니다. 예를 들어 화요일의 날짜 값과 주 숫자가 2 인 요일은 매월 반복 규칙에서 매월 두 번째 화요일을 나타내며 매년 재발 규칙에서 두 번째 화요일을 나타냅니다. 주 번호가 0 인 요일은 주 번호를 무시합니다.

하기는 연간 주파수를하고있다, 그래서 매년 첫 TH로 "BYDAY = 살전"를 해석한다.