我是編程新手我已經提出了一個提醒應用程序,它將事件保存在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