autosaveTableColumns
NSTableView には autosaveTableName と autosaveTableColumns が用意されていてこれを使うことができる。
NSTableView Class Reference
この2つは Interface Builder で設定することができる。
設定すると NSTableView 〜 というエントリがアプリケーション設定ファイルに記録されるようになる。
これを使うとカラムを入れ替えや幅が記録され、次回表示時に自動的に反映されるようになる。
なおこの機能を使うには各カラムの Identifier を設定しておく必要がある。
設定しない場合実行時に下記のエラーが発生する。NSTableViewSample[15812:a0f] Column identifiers used with NSTableView autosave feature must conform to NSCoding protocol: (null)
Bindings 利用時のソート状態を保存する
Cocoa Bindings を使っている場合、NSTableView の autosave* は使えない。この場合は NSArrayController などのコントローラの Bindings 設定を使う。
NSTableView で使用している NSArrayController の Bindings設定を開き、"Sort Descriptors" を設定する。
これでソート順の自動保存・復帰が実現できる。
ソースコード
GitHub からどうぞ。
NSTableViewSample at 2010-11-26 from xcatsan's MacOSX-Sample-Code - GitHub
参考情報
sortDescriptors
今回の方法が解説されていた投稿。とても参考になった。
Responses
Leave a Response