predicateForEventsWithStartDate不起作用

Pie*_*ero 2 iphone ios ekevent ekeventstore

我正在尝试从日历中获取事件,而我正在使用此方法执行此操作:

predicateForEventsWithStartDate:endDate:calendars:
Run Code Online (Sandbox Code Playgroud)

但如果我创建这样的开始日期:

NSString *str =@"3/15/1980 9:15 PM";
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"MM/dd/yyyy hh:mm a"];
    NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
    [formatter setTimeZone:gmt];
    NSDate *date = [formatter dateFromString:str];
Run Code Online (Sandbox Code Playgroud)

然后我这样做:

predicate = [eventStore predicateForEventsWithStartDate:date endDate:endDate calendars:  [eventStore calendarsForEntityType:EKEntityTypeEvent]];

NSArray *eventArray = [eventStore eventsMatchingPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)

eventArray是零,相反,如果我使用:

[NSDate date]
Run Code Online (Sandbox Code Playgroud)

找到我从今天到未来的事件,而不是旧日期不起作用,我也试过其他旧日期,但阵列总是零...

Abi*_*Abi 6

使用predicateForEventsWithStartDate函数时,看起来返回的事件的时间间隔大约为4年(86400*365*4 + 86400*2).好像是一个bug.