在 Javascript for Automation 中,可以创建一个元素对象,然后将其添加到容器中。例如:
var cal = Application('Calendar')
var newEvent = cal.Event(
{
summary: todoSummary,
startDate: new Date(),
endDate: endDate
}
);
cal.calendars[0].events.push(newEvent);
}
这种工作方法在许多地方都得到了很好的描述和记录,因此 Calendar (iCal) 不需要有自己的方法来执行此操作。
如何从容器(事件)中删除一个对象(事件等),或者至少删除该事件与其日历之间的关系?在 AppleScript 中,人们会写:
delete (every event whose uid is eventID)
所以看起来 JXA 版本会是这样的:
cal.calendars.events.delete.whose({uid: event.uid()})
但是各种尝试只会给我invalid key forms
或Can't convert types
错误。谢谢!