2

Interface Builder を使用してNSCollectionViewをセットアップしました。私のプロトタイプ ビューには、進行状況インジケーターとテキスト フィールドが含まれています。「タスク」オブジェクトが進行状況インジケーターの値とテキスト フィールドの値を維持するようにバインディングを設定しました。

コレクションに新しいオブジェクトを[NSCollectionView newItemForRepresentedObject:]追加すると(アレイコントローラーに追加することで)、すべて正常に機能します。プログレス インジケータとテキスト フィールドの初期値が適切に設定されます。ただし、値が変更された場合、プロトタイプ ビューには反映されません。値は常に初期値を保持します。

「タスク」オブジェクトのプロトタイプビューへのポインターを追加しようとしましたが、更新を強制しようとしまし[NSView setNeedsDisplay:TRUE]たが、役に立ちませんでした。プロトタイプ ビューをサブクラス化し、プログレス インジケーターへのアウトレットを与えたので、実行時にその値を調べることができました。不思議なことに、ビューが正常に作成されたにもかかわらず、プログレス インジケーターはそうではありません! 実際に初期値を表示して維持するという事実とはかなり矛盾しています!

現在のセットアップを使用して、変更をビューに反映させる方法はありますか?

前もって感謝します。

4

1 に答える 1

2

バインディングの設定で十分です。

進行状況インジケーターは何にバインドされていますか? 進捗値が更新されたときに KVO 通知を送信していることを確認してください。

于 2009-08-04T21:02:12.267 に答える