3

Interface Builder で作成された NSCollectionView を含むウィンドウがあります。CoreData バッキング ストアにバインドされた NSArrayController があります。これは、非同期要求を起動することによって起動時に設定されます。NSCollectionView の NSArrayController へのバインドなどはすべて適切に行われているようです。ただし、ウィンドウが表示され、強制的に再描画するためにウィンドウをクリックまたはサイズ変更するまで空白のままです。

目立った変化なしに私が試したことがいくつかあります。(これらは NSWindowController クラスにあります)

1) KVO を使用して、CoreData フェッチがいつ終了するかを監視します。この時点で、次のすべてを試しました。

[collectionView setNeedsDisplay:YES];
[[self window] setViewsNeedDisplay:YES];
[[self window] flushWindowIfNeeded];

2) NSProgressIndicator を追加し、起動時に NSCollectionView を非表示にし、ロードが完了したら (KVO の監視を通じて)、進行状況インジケーターを非表示にしてコレクション ビューを表示します。

ここで私が間違っていることについてのヒント/手がかりはありますか?

物事をギアに入れるようです。

4

1 に答える 1

0

Twitter でこれへのリンクを見た友人のおかげで、私には解決策があります。私のKVOが起動したら、次の呼び出しを追加します。

[arrayController fetch:self];

物事をギアに入れるようです。

于 2011-05-05T02:28:48.147 に答える