RubyCocoa 1.0に付属するrb_nibtoolコマンドやAppleにより提供される開発ツールは、Rubyプログラムによるコントローラクラス定義中のib_action定義・宣言やib_outlet宣言を解析して、RubyプログラムファイルやNibファイル(GUI定義ファイル)を自動生成・更新することができます。この仕組みを機能させるため、RubyCocoa 1.0では、コントローラとなるクラスにアクションを定義する場合、以下のどちらかの記法で書くことを推奨します。
- アクションとして定義したメソッドをib_action宣言する
- ブロック付きib_actionを使ってアクションを定義する
アウトレットの宣言には、従来通り、ib_outletもしくは複数形のib_outletsを使います。
class MyController < OSX::NSObject
# ib_outlet宣言
ib_outlets :timeField, dateField
# ib_actionによるアクションの定義
ib_action :printTime do |sender|
@timeField.stringValue = Time.now.to_s
end
# メソッドを定義し、それをib_action宣言
def printDate(sender)
@dateField.stringValue = Time.now.strftime("%Y-%m-%d")
end
ib_action :printDate
end