我会在日历中添加一个事件。
我的代码是正确的,但我需要Datepicker的日期和时间。
如何从datepicker为以下代码设置日期和时间:
EKEventStore *es = [[EKEventStore alloc] init];
[es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
/* This code will run when uses has made his/her choice */
EKEvent *myEvent = [EKEvent eventWithEventStore:es];
myEvent.title = @"New Event";
myEvent.startDate = [NSDate date]; // I need to set date from Datepicker
NSTimeInterval interval = 60*+5; // I need to set time from Datepicker
EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:interval];
[myEvent addAlarm:alarm];
myEvent.endDate = [[NSDate date] initWithTimeInterval:600 sinceDate:myEvent.startDate];
[myEvent setCalendar:[es defaultCalendarForNewEvents]];
NSError *err;
[es saveEvent:myEvent span:EKSpanThisEvent error:&err];
}];
你可以看到我将设置日期和时间的评论。
感谢。
答案 0 :(得分:0)
使用(假设datePicker
为UIDatePicker的出口):
NSDate *date = self.datePicker.date;
myEvent.startDate = date;
或者在一行中:
myEvent.startDate = self.datePicker.date
对于时间间隔:
NSTimeInterval interval = <time in seconds>;
编辑:(发表评论后)
因为你只需要时间,而不是日期和时间。然后,您需要使用NSDateFormatter
并格式化日期。
答案 1 :(得分:0)
我找到了日期和时间的解决方案。我正在与您分享代码:
来自datepicker的日期:
NSDate *selectedDate = self.datePicker.date;
myEvent.startDate = selectedDate;
来自datepicker的闹钟时间:
EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:selectedDate];
[myEvent addAlarm:alarm];
就是这样。
良好的编码;)