Как я могу получить все события из календаря iPhone? - PullRequest
1 голос
/ 09 мая 2011

Я хочу знать, как программно читать все события в календаре iPhone?

Я знаю, как мы можем получать события известных дней.Следующий код извлекает события на текущую дату.Но как я могу получить все сохраненные события в календаре iPhone т.е.не зависит от даты?

NSDate *startDate = [NSDate date];

// endDate is 1 day = 60*60*24 seconds = 86400 seconds from startDate
NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:(86400*1)];

// Create the predicate. Pass it the default calendar.
NSArray *calendarArray = [NSArray arrayWithObject:defaultCalendar];
NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:calendarArray]; 

// Fetch all events that match the predicate.
NSArray *events = [self.eventStore eventsMatchingPredicateredicate];

Ответы [ 3 ]

1 голос
/ 20 мая 2011

Вы можете извлекать события из базы данных Календаря пользователя тремя способами: 1) Выборка событий как хранилища событий 2) Выборка событий с помощью предиката 3) Выборка отдельных событий с помощью идентификатора

Вы можете использовать любой из них Предикатили Идентификатор, следуйте рекомендациям IOS, чтобы увидеть некоторые примеры и подробности.

надеется, что это поможет.

1 голос
/ 23 декабря 2013

Этот код Белло используется для получения события всех календарей из календаря устройства. просто скопируйте и вставьте этот код ниже, вы получите все событие

EventKitUI/EventKitUI.h -> импортировать этот файл

EKEventStore *store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
    if(granted) {
        NSDate* startDate = /* whatever value you want */
        NSDate* endDate = /* whatever value you want */
        NSPredicate *fetchCalendarEvents = [store predicateForEventsWithStartDate:startDate endDate:endDate calendars:nil];
        NSArray *eventList = [store eventsMatchingPredicate:fetchCalendarEvents];
        NSLog(@"allevent:%@",eventList);
    }
}];
0 голосов
/ 09 мая 2011
NSDate* startDate = [NSDate distantPast];
NSDate* endDate = [NSDate distantFuture];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...