如何检索存储在EKEventStore中而没有任何谓词的所有事件
我的方法仅基于具有startdate和enddate的谓词。能帮忙吗?
提前感谢。
答案 0 :(得分:1)
DistantPast和DistantFuture不起作用,显然Apple不喜欢它的时间跨度太大。但是,由于过去最多只能获得2个月的事件,我发现这确实有效:
NSDate *startDate = [[NSDate date] dateByAddingTimeInterval:-604800*10]; //This is 10 weeks in seconds
NSPredicate *pred = [self.eventStore predicateForEventsWithStartDate:startDate endDate:[NSDate distantFuture] calendars:nil];
答案 1 :(得分:0)
编辑(1/30/17):这个答案已经过时了;看看Bob的答案。
-
对不起,这个答案可能有点晚了,但对于那些到此搜索的人来说:
您仍然需要使用谓词,但您可以将开始日期设为[NSDate distantPast],将结束日期设为[NSDate distantFuture]
例如,如果你有一个名为“eventStore”的EKEventStore,这将获取“calendarArray”中包含的日历的所有日历事件:
NSPredicate *fetchCalendarEvents = [self.eventStore predicateForEventsWithStartDate:[NSDate distantPast] endDate:[NSDate distantFuture] calendars:calendarArray];
NSArray *allEvents = [self.eventStore eventsMatchingPredicate:fetchCalendarEvents];