首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EKEventStore eventsMatchingPredicate赋值

EKEventStore eventsMatchingPredicate赋值
EN

Stack Overflow用户
提问于 2012-10-12 21:44:54
回答 2查看 857关注 0票数 1

我在存储来自EKEventStore查询的事件时遇到了问题。例如,在使用以下代码时,事件总是为零:

代码语言:javascript
复制
__block NSArray *events = [[NSArray alloc] init];

if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
    [eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            if (granted)
                events = [eventStore eventsMatchingPredicate:predicate];
        });
    }];
}

我知道eventStore events eventsMatchingPredicate:谓词是返回事件,就好像我在块中放置了一个NSLog一样,然后我可以看到事件的详细信息。保留结果似乎有问题。如你所见,我试过在主线程上做它,但没有结果。

我正在使用ARC,这可能会产生不同的效果。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-03-30 08:08:25

当然可以..我的意思是,在我的requestAccessToEntity块之后,我正在做“返回事件”。这是没有好处的,因为它将立即返回,因为requestAccessToEntity块是异步的,并且需要很短的时间来执行该操作。因此,我做了一个委托,并在requestAccessToEntity完成后调用这个委托,这样它就会在完成时通知我,并在委托调用中传回数组。就像这样:

代码语言:javascript
复制
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
    if (granted) {
        if (delegate != nil && [delegate respondsToSelector:@selector(todaysEventsComplete:)]) {
            events = [eventStore eventsMatchingPredicate:predicate];
            dispatch_async(dispatch_get_main_queue(), ^{
                [delegate todaysEventsComplete:events];
            });
        } else {
            dispatch_async(dispatch_get_main_queue(), ^{
                [UIAlertView alertViewWithTitle:nil message:@"You have denied access to your calendar for this app"];
            });
        }
    }
}];
票数 1
EN

Stack Overflow用户

发布于 2012-10-13 14:39:42

终于弄明白了。

我在返回NSArray事件的方法中执行上述代码。现在的问题是requestAccessToEntityType是异步执行的。因此,即使在块本身中,我正在更新主线程上的数组,但此时已经太晚了,因为方法已经返回。

必须对其进行更改,以便它现在有一个委托,在它完成任务后返回事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12867535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档