Array Controller Binding 1

ここでは、Array Controller のバインディングについてメモしていく。

テーブルとそれに使うボタン、User Defaults Controller なんかの部分はこのページに収まらなかったので、Array Controller Binding 2 に書いてある。

まず、ウィンドウにパーツを配置して次のようなものを作った。

テーブルは、それぞれの列に Check、Text、Item とコラムに名前をつけると同時に、Identifier を check、text、item とした。あとは、Text Field、Pop Up Button、Color Well、Check Box を配置し、Array Controller 用に Add と Remove というボタンを配置した。

ここで、Inspector の Attributes でとりあえず設定はいじらずに、下の方の + をクリックして Key を追加していく。上で書いたように、4つのパーツの値を扱うので、それがわかるような名前を付ける。

これらを各パーツにバインドしていく。もし User Defaults Controller を使ったことがあるなら、各パーツのバインドは、ほぼ同じ。

Text Field

まず、Text Field から。Bind to に Array Controller を選んで、チェックを入れ、Model Key Path を入力する。Key が既に作ってあれば、右端の下向きの三角をクリックすると、用意されている Key が表示されるので、そこから選ぶ。Controller Key が selection になっていない場合は、選ぶ。それと、Text は入力してすぐに保存してほしいので、 Continuously Updates Values にチェックを入れる。これで終わり。

Pop Up Button

Pop Up Button も Text Field と同じようにバインドしていくんだけど、単にテキストを保存するのとは違うので、もう少し選択肢がある。

このうち、覚えていてもらいたいのは、アイテムの Index、Title、Tag なので、そのうちどれかを選ぶ。Index は何番目か、Title は各項目のテキスト、Tag は自分で付ける ID みたいなものなので、どれでもいいけど、項目の数やテキストを変えることが多いならTag にしておいた方がいいかも。ここでは、この後のことを考えて Index にしておく。手順などはどれでも同じ。

Bind to に Array Controller を選んで、チェックを入れ、Model Key Path を入力する。それだけ。

Check Box

Check Box も簡単。Bind to に Array Controller を選んで、チェックを入れ、Model Key Path を入力する。それだけ。

Color Well

Color Well は保持している情報が違うので、少し違う。Bind to に Array Controller を選んで、チェックを入れ、Model Key Path を入力するところまでは同じ。これに加えて、Value TransformerNSUnarchiveFromData を選ぶ。こうすると、NSData に変換されて Array Controller に情報が保持されるはず。

その2に続く。