如果我想将同一种事件保存到两个日历中,看来我必须创建两个单独的事件对象,对吗?
例如,请参见下面的代码。事件被保存到链接到“工作人员”的日历中,然后保存到链接到“任务”的日历中。
- (BOOL)setTask:(MJSTask *)aTask
fromDate:(NSDate *)from
toDate:(NSDate *)to
{
NSError *err = nil;
CalEvent *e = [CalEvent event];
NSString *task = [[aTask shortName] uppercaseString];
// Set the first calendar
[e setTitle:task];
[e setIsAllDay:NO];
[e setStartDate:[aTask start]];
[e setEndDate:[aTask end]];
[e setLocation:[self lastName]];
[e setCalendar:[self calendar]];
if ( ![[CalCalendarStore defaultCalendarStore] saveEvent:e span:CalSpanThisEvent error:&err] )
{
<error handling>
}
// Set the second calendar
NSString *titleString = [NSString stringWithFormat:@"%@ (%@)",[self lastName],task];
[e setTitle:titleString];
[e setLocation:[aTask longName]];
[e setCalendar:[[aTask taskTemplate]calendar]];
if ( ![[CalCalendarStore defaultCalendarStore] saveEvent:e span:CalSpanThisEvent error:&err] )
{
<error handling>
}
return FALSE;
}
如果我注释掉日历 2 保存的行,我会在日历 1 中获得事件。但如果我不这样做,似乎这些对象只会保存到最后一个日历(日历 2)。