2

我正在使用此 Applescript 使用 GeekTool 在我的桌面上显示名为“城市”的列表中的提醒,但由于某种原因,此列表中的每个提醒都没有正文中的任何内容,它会打印出“缺失值”。我怎样才能让它不呢?

set theList to {}
set theOutput to ""

tell application "Reminders"
    repeat with i from 1 to (count of every reminder of list "Cities")
        if reminder i of list "Cities" is not completed then
            set theList to theList & {name, body} of reminder i of list "Cities"
        end if
    end repeat
    repeat with i from 1 to (count of every item of theList)
        set theOutput to (theOutput & item i of theList as string) & return
    end repeat
    return theOutput
end tell

我追求的输出是:

伊斯坦布尔 - 2008 年 3 月访问 拉斯维加斯 京都 - 2012 年 2 月访问

目前其:

伊斯坦布尔访问 2008 年 3 月 拉斯维加斯 京都 访问 2012 年 12 月

4

1 回答 1

0

发生这种情况是因为空主体的值为missing value,当您将其转换为字符串时,变为"missing value"。为避免这种情况,您可以在将提醒添加到theList.

repeat with i from 1 to (count of every reminder of list "Cities")
    set theReminder to reminder i of list "Cities"
    if theReminder is not completed then
        if the body of theReminder is not missing value then
            set theList to theList & {name, body} of theReminder
        else
            set theList to theList & {name of theReminder, ""}
        end if
     end if
 end repeat

如果您不想在没有正文的提醒之间出现空行,您可以简单地{name of theReminder}在 else 子句中使用。

于 2012-10-25T01:21:38.280 回答