1

ユーザーがNSTableViewをスクロールするときにデータを動的にロードする必要があります。たとえば、テーブルには50行が表示され、さらにスクロールするとネットワークからさらにデータを取得する必要があります。オブジェクト/行の数はあらかじめわかっているので、最初からテーブルの行数を正しく設定し、データのロード中に空のセルを表示します。NSTableViewDataSourceまたはNSArrayController?

私はコアデータを使用しているので、バインディングを使用してテーブルをモデルに簡単に接続できます。これは、データが入ってきて解析されている間に更新されているセルも処理します。私はNSArrayControllerをサブクラス化することでどのようにこれを行うことができるのか把握しようとしましたが、実際にデータが必要なローに関する情報がテーブルからコントローラに流れることはありません。したがって、代わりにNSTableViewDataSourceを実装することを考えています。テーブルがデータが利用できる行を超えてスクロールされているかどうかを簡単に確認できます。一方、私はこのソリューションで簡単にセルを自動的に更新するかどうかはわかりません。

答えて

3

場合には、誰もがこの出くわす、ここに私自身の答えだ:

はい、あなたは、コントローラ上NSTableViewDataSourceを実装するデータの変化を観察し、変更が発生したときに、テーブルの上に手動でreloadDataを呼び出す必要があります。これを行う主な理由は、データが実際に必要になるまで(テーブル・ビューがスクロールするまで)、データのロードを延期できることです。データソースプロトコルを使用すると、どのインデックスが要求されているかがわかります。

関連する問題