1

我正在使用此代码将 iTunes 中的每个选定曲目添加到 AppleScript Obj-C 中的列表中:

    tell application "iTunes"
        set these_titles to {}
        if selection is not {} then
            set mySelection to selection
            repeat with aTrack in mySelection
                if class of aTrack is file track then
                    set end of these_titles to ((name of aTrack) as string)
                end if
            end repeat
        end if
    end tell

我有这一行来在 GUI 的文本框中显示输出:

    trackTable's setStringValue_(these_titles)

但结果是这样的:

setStringValue 的输出

有什么方法可以让每个列表项放在一行上,不带引号和括号?

4

2 回答 2

1

这是列表的正确输出。如果您希望将其强制转换为特定格式的字符串,您需要明确地执行此操作。只需更改用于列表的分隔符,然后将变量强制转换为字符串,这会将分隔符作为文本放置在每个列表项之间。因此,将此代码添加到代码的末尾:

set oldTID to AppleScript's text item delimiters
set AppleScript's text item delimiters to ", "
set these_titles to these_titles as string
set AppleScript's text item delimiters to oldTID

将分隔符更改为您想要的任何内容,以代替逗号和空格。

于 2014-08-27T22:38:10.500 回答
1

因为这个主题与 AppleScriptObjC 相关,所以我也想展示它。

set these_titles to these_titles's componentsJoinedByString:", "
于 2014-08-28T09:14:09.820 回答