2016-10-18 20 views
0

Interface Builderでは、NSTableViewはソート可能な列(列ヘッダーをクリック)で設定されます。データソースはNSArrayを使用します。データの行を更新するときは、表のデータがリロードされ、配列がリフレッシュされ、配列の順序に従ってデータ行がレイアウトされます。リロード後のNSTableViewソート順の復元

テーブルの列の並べ替え順序を維持したいと考えています。私は、テーブルのsortDescriptorsを保存し、データをリロードして、テーブルのsortDescriptorsを復元しようとしましたが、それは望ましいリロードをトリガーしません。私はsortDescriptorsに従って配列をリフレッシュして、再ロードが必要に応じてレイアウトされるようにしたいと思う。私を教えてください。

+0

「NSArrayController」を使用します。 – vadian

答えて

0

答えは私の鼻の下でした。データソースメソッドtableView:sortDescriptorsDidChange:を使用することができます。

私はよりクリーンな解決策は、データソースの通知を投稿することだと思います。列ヘッダーをクリックしたときと同じ通知でなければなりません。誰もが知っているなら、ここで親切に共有してください。

-1

NSArrayの代わりにNSMutableArrayをデータソースに使用し、sortDescriptors.Mutable配列に従って並べ替えると、テーブルの列のソート順に従ってレコードが保持されます。

関連する問題