2016-07-15 29 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應的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 
    }]; 

閱讀本博客...

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/

相關問題