2009年5月30日土曜日

TableViewの選択動作を受け取る(Cocoa-RubyのKVC)

TableViewの選択動作もちゃんとViewとController間でKVC/KVOしてあげておけばControllerで指定したObjectのメソッドが呼び出された.当然と言えば当然なんだけど…なんかいろいろ回避策を思いついてそれで回避していたので改めて知ってしまいました….(いや知っていたらしい,KVOをコードから指定する方法を使っていたのでコロッと忘れていたらしい.)



1.
TableViewのBindingsでTable Content/Selection IndexesにおいてArrayControllerのselectionIndexesを指定してあげる.


2.
ArrayControllerのBindingsでController Content PrametersにおいてMyObjectのKVC形式のgetter/setterのあるメソッド(ここではselectionIndexs)を指定する.


ちなみにCocoa-RubyでのKVC形式のgetterとsetterはここにある形式になることを知った.

ということでCocoa-Rubyでやってみたプロジェクトを置いてみた



KVCから離れますがちなみにIBは.rbの編集を監視していたね.ib_outletやib_actionがキーで以下のように指定するとIBを見つけてくれる.

 ib_outlet :textField1

ib_action :myAction1 do |sender|
msg= @textField1.stringValue_()
@textField1.setStringValue_(msg + "A")
end

0 件のコメント: