2

我正在尝试从日历中获取提醒列表,但我不断收到错误消息。我可以对日历事件做类似的事情,但是当我尝试修改它以进行提醒时,我遇到了问题。
此代码在与 EKEntityMaskReminder 相关的第一行失败

   _store = [[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskReminder];
        EKCalendar *calendar = [_store calendarWithIdentifier:[self.detailItem valueForKey:@"cal_id"]];
    NSArray *calendarArray = [NSArray arrayWithObject:calendar];
    NSPredicate *predicate = [_store predicateForRemindersInCalendars:calendarArray];
    _eventsList = [_store fetchRemindersMatchingPredicate:predicate completion:nil];

错误信息是:

-[EKEventStore initWithAccessToEntityTypes:]:无法识别的选择器发送到实例 0x157660

如果我这样更改商店:

_store = [[EKEventStore alloc] init];

然后它失败了:

'-[EKEventStore predicateForRemindersInCalendars:]: unrecognized selector sent to instance 0x165c20'

如果我将商店设置为:

_store = [[EKEventStore alloc] init];

它显示在提醒应用程序中。

有谁知道为什么我不能查询这些提醒?

4

1 回答 1

2

从 iOS 6 开始,您遇到错误的两个选择器都可用。如果您尝试针对 beta 操作系统/库以外的其他东西运行程序,它将失败。

(这在 iOS 5.1 文档中initWithAccessToEntityTypes推荐是非常奇怪的,虽然没有方法描述。)

于 2012-08-18T14:24:05.357 回答