問題是CocoaDialog將值列表加載到一個數組中,其中的鍵和值是相同的。它基本上將foo和「foo」視爲同一項目,第二個將覆蓋第一個 - 就像PHP中的數組一樣。
所以,如果你改變你的數組這樣的:
items=( "invisible below" foo1 "invisible above" "bar" "foo" not invisible)
你會看到,foo1顯示出來:
image http://img269.imageshack.us/img269/6738/screenshot20110818at223.png
我們知道這是CocoaDialog而不是bash的原因是我們可以打印出一系列物品:
$ items=( "invisible below" foo "invisible above" "bar" "foo" not invisible)
$ printf "%s\n" "${items[@]}"
invisible below
foo
invisible above
bar
foo
not
invisible
因此,你傳遞的數組很好 - CocoaDialog只是用第二個值覆蓋第一個值。
來源
2011-08-18 18:30:32
cwd
這實際上是一個相當不錯的功能:P非常感謝你 – Tyilo
是的!當我正在尋找一種方法在多重選擇中列出多個項目時,我確實發現了您的問題。但我不認爲CocoaDialog有這個功能 - 至少不是我所知道的。 – cwd
如果你不想同一個項目的許多副本,難道你不能只爲名稱添加額外的空間? – Tyilo