この解説のおかげで、Tableへの表示方法とか、更新方法とかわかったので、そこまでは良いとして、とりあえず上のような入力画面を作ってみました(ここまではドラッグアンドドロップだけで作れる。すごい)。ここではまったのが、NSDatePicker。比較的新しい機能らしく、カレンダーとか簡単に表示できるのですが、ここにディフォルトで今日の日付を表示させる、ところでつまづいたのです。
NSDatePickerには、setDateValueというメソッド?があるようで、これでいけるかと思って、
date = Time.now
@date.setDateValue(date)
としても何も入れてくれない。dateの部分に"2006-04-01 00:00:00 +0900"とかしてもダメ。NSDatePickerのドキュメントを見ると、NSDateオブジェクトを入れろ、とあるので、Time.now使ってるじゃん、とかやつあたり。
今度はRubyCocoaのドキュメントを見ると・・・
Cocoa派生クラスのインスタンスをRubyスクリプト中で生成する必要がある場 合には、既存のCocoaクラスの場合と同様に
AppController.alloc.init # use this
のように書きます。
と書いてあって、あーこれかーと思いました。そうだよ、NSDateオブジェクトとrubyのTimeオブジェクトは全く別物なんだよキミ。NSDateオブジェクトを生成するには、NSDate.initを使う必要があったのでした。
というわけで、awakeFromNibのところに
date = NSDate.init.date
@Date.setDateValue(date)
としたら、ばっちり。バンザーイ。dateじゃなくてdateWithStringとかも使えるので、思った日付を表示できそうです。
0 コメント:
コメントを投稿