iOS では、テーブルが現在のビューに必要なセルのみを表示し、それ以上は表示しないという意味で、NSTableView (UITableView) は遅延ロードされます。ユーザーが上下にスクロールすると、データ ソースからさらに多くの情報が読み込まれます。
OSXに似たものはありますか?ロードする 1000 以上のレコード (+ 複数の列) を持つ NSTableView があります。これにより、ロードが遅くなり、上下にスクロールするときにラグが発生します。
この「遅延」読み込みは良い解決策でしょうか (可能であれば)? それとも、同じ線に沿ったものですか?
ありがとう。
PS ロード プロセスについて - 私は 2 つの通常の方法を使用します
-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
と
-(NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
データをロードします。その中には、いくつかの変数をチェックするifステートメントがあります。データを含む2つのコンボボックスがあり、「ALL」と「ALL」を含むとこれらの1000以上のレコードがロードされるからです。コンボ ボックスが「ALL」でも「ALL」でもない場合、いくつかのレコードのみが読み込まれますが、問題なく読み込まれます。
遅延読み込みが自動的に行われると説明したことを考えると、問題は XML ファイルからデータを読み込んでいるため、おそらく解析が処理時間の大きな部分を占めていることだと思います。
実行時に XML ファイルから NSDictionary にデータをロードし、必要なときに使用できるようにメモリに保持することで、情報を実際に表示する必要があるときのロード時間を回避できます。
どう思いますか?ありがとう!