本日はMacRubyのPopup Buttonの不具合に悩まされた。というか、MacRubyのせいらしい、とわかるまでに時間かかりすぎた。基本的にうまくいかないときは「自分が何か悪いことをしている」と考えざるを得ない状態なので、まさかMacRuby側の整備不良とは思わなんだ。
こんな環境設定パネルを作っている。
これはInterfaceBuilderで作成中。実行するとToolbarがついてこうなる。
まだデザインをいじる可能性があるのでTabは表示したまま。ToolbarをつけずにTabのままでもいい気がする。(^^;)
で、コントロールの現在の状態をUserDefaultsを通して保存したり読み込んだり、はxcatsan師匠によればInterfaceBuilderのインスペクタでbindingを使えばいい、ということなので試してみる。
チェックボックスやTabViewの選択Tab、スライダの現在値などは全く問題なく処理できる。しかし6個もつけたPopup Button(2番目のTabにあと4個)が全く保存できていない。
bindingできるContentもContent Valuesも(この2つにbindingするとコントロールがまともに動かなくなることがわかった)、Selected IndexもSelected ValuesもSelected TagもSelected Objectも全部試してみたけど全部動いていない。
いくらやってもだめなので、試しに普通のObjCのプロジェクトを作って試してみたら、そっちはInterfaceBuilderだけの作業で見通しどおりに動く。がっくり。
MacRubyをnightlyに変えてみたりもしたけど、全然だめでした。
ここで考えたのはObjCで書きなおすことと、泥臭くMacRubyで処理しちゃうこと。乗りかかった船(という表現をここ最近何回くらい使ったかなあ)なのでMacRubyでやってしまうことにする。
昼過ぎから夕食後まで、ずっとこの問題をいじっていて、やっと夜になってこう決めた、と。
0 件のコメント:
コメントを投稿