我正在尝试编写一个 AppleScript 来查询 iCal 并在任何日历中查找给定日期的所有事件。
我首先编写了一个简单的脚本,它对给定日历中的每个事件执行一些简单的操作:
tell application "iCal"
tell calendar "Reuniones"
set the_events to every event
repeat with an_event in the_events
-- do something with every event
set value to summary of an_event
end repeat
end tell
end tell
然而,这个简单的脚本需要很长时间才能执行(几秒钟),即使我没有在循环内做任何复杂的事情。恐怕真正的脚本执行起来真的要花很多时间。
我对 Applescript 不是很熟悉,因此我想我正在做一些对性能有严重影响的愚蠢的事情。
谁能解释一下为什么这需要这么多才能执行?任何人都可以提出一些改进我的代码的建议吗?我现在要开始检查事件的日期,在循环中有一个条件。我怀疑必须有一种方法可以搜索带有日期的事件(就像 Automator 操作一样),但我一直无法找到一种“本地”的方式来做到这一点......
编辑:我正在使用 Mac OS X Tiger (10.4)。较新版本的 iCal 可能改进了可用的操作库。