![](/img/trans.png)
[英]How to get EKEvent from EKEventStore by calendarItemExternalIdentifier in iOS?
[英]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.