我是编程新手我已经提出了一个提醒应用程序,它将事件保存在iCal中,现在我想通过项目中的代码删除该事件,我的代码用于创建iCal中的事件如下 -如何在iPhone日历上创建提醒和商店提醒
-(void) setReminderInPhone {
NSString *dateWithTime = [NSString stringWithFormat:@"%@ %@",calenderDtl.dateInString,calenderDtl.openTimeUTC];
NSString *mrktName = mrktDtl.marketName;
//dateWithTime = @"2016-04-02 04:10 am";
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
fmt.dateFormat = @"yyyy-MM-dd hh:mm a";
[fmt setAMSymbol:@"am"];
[fmt setPMSymbol:@"pm"];
fmt.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
NSDate *utc = [fmt dateFromString:dateWithTime];
fmt.dateFormat = @"yyyy-MM-dd hh:mm a";
fmt.timeZone = [NSTimeZone systemTimeZone];
NSString *local = [fmt stringFromDate:utc];
NSDate *localDate = [fmt dateFromString:local];
EKEventStore *store = [EKEventStore new];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (!granted) { return; }
EKEvent *event = [EKEvent eventWithEventStore:store];
event.title = mrktName;
event.startDate = localDate; //test
event.endDate = [event.startDate dateByAddingTimeInterval:60*2];
event.calendar = [store defaultCalendarForNewEvents];
NSError *err = nil;
[store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
}];
}
可以请你解释我它是什么工作。 – Avantika
首先,我们从eventStore获取事件条目。如果当天有事件发生,那么我们继续移除事件。 –
我这样做,但无法删除EKEventStore * store = [EKEventStore new]; [store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted,NSError error){if(!granted){return;} EKEvent eventToRemove = [store eventWithIdentifier:savedEventId]; if(eventToRemove){NSError * error = nil; [store removeEvent:eventToRemove span:EKSpanThisEvent commit:YES error:&error]; }}];没有错误,但它不允许简单地返回。 – Avantika