2013-03-20 3 views
0

Теперь я работаю над mange EKEvent в приложении calendar. Я успешно добавляю событие в eventStore. Мне нужно получить идентификатор события из хранилища событий. Я использую следующий код для доступа к eventIdentifier. Но я всегда получаю значение null для evetnIdentifier в своем приложении.Как получить eventIdentifier из магазина EKEvent?

EKEvent *event = [self eventAtIndexPath:indexPath];  
NSString *eventIdentifier]; = [[NSString alloc] initWithFormat:@"%@",event.eventIdentifier]; 
+0

Вы можете показать код для [self eventAtIndexPath: indexPath]; ? – Yashesh

+0

@Yashesh, я получаю event.title и другие свойства события. Я не могу получить только eventIdentifier. – IKKA

+0

проверить это: -http: //iphonedevsdk.com/forum/iphone-sdk-development/94784-issue-on-programmatically-get-the-ekevent-using-eventidentifier.html –

ответ

0

попробовать это ::

в вашем .h

#import <EventKit/EventKit.h> 

@property (nonatomic, retain) EKEventStore *eventStore; 
@property (nonatomic, retain) EKCalendar *defaultCalendar; 
@property (nonatomic, retain) NSMutableArray *eventsList; 

в вашем ом

- (void) fetchevents 
{ 

    eventStore = [[EKEventStore alloc] init]; 

    eventsList = [[NSMutableArray alloc] init]; 

    EKEventStore *store = [[EKEventStore alloc] init]; 

    [store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 
     // handle access here 
    }]; 

    // Get the appropriate calendar 
NSCalendar *calendar = [NSCalendar currentCalendar]; 

    // Create the start date components 
    NSDateComponents *oneDayAgoComponents = [[NSDateComponents alloc] init]; 
    oneDayAgoComponents.day = -1; // From which date you have to fetch Events from calander 

    NSDate *oneDayAgo = [calendar dateByAddingComponents:oneDayAgoComponents 
               toDate:[NSDate date] 
              options:0]; 

    NSLog(@"%@", oneDayAgo); 

    // Create the end date components 
    NSDateComponents *oneYearFromNowComponents = [[NSDateComponents alloc] init]; 
    oneYearFromNowComponents.year = 0; 
    NSDate *oneYearFromNow = [calendar dateByAddingComponents:oneYearFromNowComponents 
                toDate:[NSDate date] 
                options:0]; 
    NSLog(@"%@", oneYearFromNow); 

    //Create the predicate from the event store's instance method 
    NSPredicate *predicate = [store predicateForEventsWithStartDate:oneDayAgo endDate:oneYearFromNow                      calendars:nil]; 


    NSArray *events_Array = [eventStore eventsMatchingPredicate: predicate]; 

    for (EKEvent *eventToCheck in events_Array) 
    { 
     [eventsList addObject:eventToCheck.calendarItemIdentifier ]; 
    } 
} 

Надеется, что это поможет. счастливое кодирование. Благодарю.

Смежные вопросы