簡體   English   中英

從iOS日歷應用程序中刪除EKEventStore中的EKEvent

[英]Delete EKEvent from EKEventStore from iOS Calendar App

我使用以下代碼在iPhone上的默認日歷上添加了一個事件:

EKEventStore *store=[[EKEventStore alloc] init];
    [store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
        if (!granted) {
            return ;
        }
        EKEvent *event=[EKEvent eventWithEventStore:store];
        event.title=@"This is the event";
        event.startDate=[NSDate date];
        event.endDate =[event.startDate dateByAddingTimeInterval:60*60];
        event.allDay=YES;
        NSURL *url=[NSURL URLWithString:@"http://www.google.com"];
        event.URL=url;
        [event setCalendar:[store defaultCalendarForNewEvents]];
        NSError *errr=nil;
        [store saveEvent:event span:EKSpanThisEvent commit:YES error:&errr]; //        NSLog(@"%@",errr); //        NSLog(@"%@",event.eventIdentifier);

    }];

現在我要刪除此事件。 我試過的代碼是這樣的:

EKEventStore *store1=[[EKEventStore alloc]init];
            NSPredicate *predicate=[store1 predicateForEventsWithStartDate:[[tableViewScheduleArray objectAtIndex:btn.tag] objectForKey:@"Schedule_Date"] endDate:[[tableViewScheduleArray objectAtIndex:btn.tag] objectForKey:@"Schedule_End_Time"] calendars:nil];
            NSArray *arr=[store eventsMatchingPredicate:predicate];
            dispatch_async(dispatch_get_main_queue(), ^{
                [store1 removeEvent:[arr objectAtIndex:0] span:EKSpanThisEvent commit:YES error:nil];
            });

它不起作用,但它也沒有導致錯誤。

我已經嘗試了Stack Overflow的幾段代碼,但它們都沒有用。

我得到了解決方案,這是我的一個愚蠢的錯誤。

財產“商店”,沒有宣布為強。 因為我改變它的工作。

以上代碼工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM