NSArrayControllerでNSTableViewをBind!

Touchdownでは複数の設定を保存して切り替えられるようにするため、NSTableViewをUIとして使います。

基本的なとこだけど、何かと分かりにくいCocoa Binding。
iOSでは使えないらしく情報も少なめなので、簡単にまとめておきます。

StoryboardでNSTableViewとNSArrayControllerを配置


NSTableViewNSArrayControllerをドラッグで配置。


ViewControllerにArrayを定義


例えば文字列の配列なら
dynamic var items: [String] = ["a", "b", "c"]

バインドするためにdynamicを付けるのがポイント


NSTableViewは2箇所Bind


まずNSTableViewArrayControllerを2箇所バインド。
ContentとはarrangedObjectsSelection IndexesselectionIndexes



さらにTableViewCellValueTableCellViewobjectValueをバインド。



値を変更できるようにする


TableViewCellのBehaviorEditableにしておきます。



コンパイルして実行


これでArrayの中身を表示して編集することができるようになりました。



0 件のコメント:

コメントを投稿

Touchdown 1.3公開!

Touchdown 1.3を公開しました。 ダウンロードは こちら から。 Ver.1.3の変更点は以下の通りです。 新機能 macOS Mojave 10.13以降に対応 ダークモードに対応 ぜひお試しください。