RubyCocoa一日目 つづき
次はActionを試してみる。
Action/TargetはSignal/Slotモデルにかなり似ている。というか何か違いがあるのかな?
ActionがSlotに相当。
InterfaceBuilderにて
Classesペイン MyController右クリック「Add Action to MyController」
Action名はreflesh: (コロンは自動的に補われるっぽい)
Instancesペインに変更
今度はUIデザイナ上のRefleshボタンからMyControllerアイコンに向かってCtrlドラッグ。
(「Ctrlドラッグはメッセージの送られる方向」と覚えるらしい。)
XCodeにて
MyController.rbを編集
require 'osx/cocoa' class MyController < OSX::NSObject ib_outlet :textDate def awakeFromNib @textDate.setObjectValue("Hello, World!") end def reflesh(sender) @textDate.setObjectValue(OSX::NSCalendarDate.date) end end
これで動くはず。