Xcode4.x 初心者向け06

今回はTableView。
少し複雑です。


http://macscripter.net/viewtopic.php?id=30313
macscripterにあったものを必要と思われる部分だけ取り出して紹介します。

・TableViewを配置
dataSourceとApp Delegateを関連付け。

・Table Columnの設定
Identifier部分にスクリプトで使う識別用の名前?を設定。
今回はセルを2つ使うので、セル2も同様に設定して下さい。

・その他App Delegateへの関連付け

・AppDelegate.applescript
on uni01_(sender)で項目追加
on uni02_(sender)で選択項目を取得します。
スクリプトエディタで開く

script AppDelegate
property parent : class  “NSObject”
property uni01 : class “NSMutableArray”
property uni02 : missing value–TableView
    property uni03 : {}セル内に入るデータ
    property unicell01 : “”–1列目のセル
    property unicell02 : “”–2列目のセル
    
on applicationWillFinishLaunching_(aNotification)起動時に項目を追加
        set uni03 to uni01’s alloc()’s init()
set uni07 to {{unicell01:ほげ, unicell02:ほげもげら}}
        addObjectsFromArray_(uni07)of uni03
        reloadData() of uni02
end applicationWillFinishLaunching_
on applicationShouldTerminate_(sender)
— Insert code here to do any housekeeping before your application quits 
return current application’s NSTerminateNow
end applicationShouldTerminate_
    on tableView_objectValueForTableColumn_row_(uni02, uni08, uni09)
if uni03’s |count|() is equal to 0 then return end
set {uni04,uni05} to {identifier of uni08,objectAtIndex_(uni09)of uni03}
        return objectForKey_(uni04) of uni05
end tableView_objectValueForTableColumn_row_
    
on numberOfRowsInTableView_(uni02)
try
if uni03’s |count|() is equal to null then
return 0
else
return uni03’s |count|()
end if
        on error
return 0
end try
end numberOfRowsInTableView_
    on uni01_(sender)項目を追加する
set uni07 to {{unicell01:ほげほげ, unicell02:ほげもげ}}
        addObjectsFromArray_(uni07)of uni03
        reloadData() of uni02
    end uni01_
    
    on uni02_(sender)選択項目の取得
try
        set uni10 to selectedRow() of uni02
display dialog (unicell01 of uni03’s item (uni10+1) as unicode text)
end try
    end uni01_
 
end script