2016-07-15 10 views
0

서버에서 오는 특정 날짜의 이벤트를 추가해야하는 응용 프로그램이 있습니다. ,iOS의 특정 요일에 이벤트를 추가하는 방법은 무엇입니까?

[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"]; 
NSDate *strtdate=[dateFormatter dateFromString:[replacedDict valueForKey:@"Departure"]]; 
NSPredicate *predicateForEventOnDate = [store predicateForEventsWithStartDate:strtdate endDate:[strtdate dateByAddingTimeInterval:60*60*24] calendars:calendarArray]; 

[store enumerateEventsMatchingPredicate:predicateForEventOnDate usingBlock:^(EKEvent *event1, BOOL *stop) { 
NSLog(@"title: %@",event1.title); 
NSLog(@"hasNotes: %s",event1.hasNotes ? "YES":"NO"); 
NSLog(@"notes: %@",event1.notes); 
NSLog(@"-----"); 
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:event1.title, @"title",event1.hasNotes ? event1.notes : @"",@"notes", nil]; 

[eventOnDate addObject:dict]; 
}]; 

NSLog(@"%@",eventOnDate); 
if (eventOnDate.count > 0) 
{ 
    for (int i=0;i<[eventOnDate count];i++) { 
     if (![[[eventOnDate objectAtIndex:i] valueForKey:@"notes"] isEqualToString:note]) 
     { 

      EKEvent *event = [EKEvent eventWithEventStore:store]; 
      event.title = subject; //give event title you want 
      event.notes = note ; 
      event.startDate = strtdate; 
      event.endDate = [event.startDate dateByAddingTimeInterval:60*60*24]; 
      event.calendar = [store defaultCalendarForNewEvents]; 
      NSError *err = nil; 
      [store saveEvent:event span:EKSpanThisEvent commit:YES error:&err]; 
      if (!err) { 
      } 
      else 
      { 
       // NSLog(@" Event not created"); 

      } 
     } 
     else if ([[[eventOnDate objectAtIndex:i]valueForKey:@"notes"] isEqualToString:note]) 
     { 

     } 
    } 
} 

을 그러나 여기 이벤트는 또한 내가 통지에게 같은 180 시간을 변경 칼 데이터베이스 변경 알림과 같은 경고 메시지를 얻고 바로 오늘 날짜에 추가됩니다 : 나는 아래처럼하고 있어요. 아무도 내가 잘못 가고있는 곳을 말해 줄 수 있습니까?

이벤트를 특정 날짜에 추가해야합니까? 아무도 이걸 도와 줄 수 없나요?

답변

0

날짜 형식이 올바른지 확인하십시오.

event.startDate는

http://samwize.com/2014/07/09/how-to-add-edit-and-remove-ios-calendar-events/

https://developer.apple.com/library/ios/documentation/EventKit/Reference/EKEventStoreClassRef/

...있는 NSDate는

EKEventStore *store = [[EKEventStore alloc] init]; 
    [store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 
     if (!granted) return; 
     EKEvent *event = [EKEvent eventWithEventStore:store]; 
     event.title = @"Event Title"; 
     event.startDate = [NSDate date]; // today 
     event.endDate = [event.startDate dateByAddingTimeInterval:60*60]; // Duration 1 hr 
     [event setCalendar:[store defaultCalendarForNewEvents]]; 
     NSError *err = nil; 
     [store saveEvent:event span:EKSpanThisEvent commit:YES error:&err]; 
     NSString *savedEventId = event.eventIdentifier; // Store this so you can access this event later 
    }]; 

이 블로그를 읽어야한다