2009-08-04 13 views
1

NSCollectionViewをInterface Builderで設定しました。私のプロトタイプビューには、進行状況インジケーターとテキストフィールドが含まれています。バインディングを設定して、「タスク」オブジェクトが進行状況インジケータとテキストフィールド値の値を保持するようにしました。NSCollectionViewはデータ変更時にサブビューを更新しません

新しいオブジェクトをコレクションに追加すると(アレイコントローラに追加する[NSCollectionView newItemForRepresentedObject:]経由で)問題なく動作します。進捗インジケータとテキストフィールドの初期値は適切に設定されます。ただし、値が変更されると、プロトタイプビューに反映されません。値は常に初期値を保持します。

"タスク"オブジェクトのプロトタイプビューへのポインタを追加しようとしましたが、[NSView setNeedsDisplay:TRUE]で強制的に更新しようとしましたが、無駄です。私はプロトタイプビューをサブクラス化して、進行状況インジケータへのアウトレットを与えました。ビューが正常に作成されても、進行状況インジケータは表示されません。実際には初期値を表示し維持するという事実とはかなり矛盾しています!

現在の設定を使用して、変更をビューに伝達する方法はありますか?

ありがとうございます。

答えて

2

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

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

+0

プログレスバーの値は、double型変数の値にバインドされています。また、プロトタイプビューのサブクラスで定義されたコンセントによって参照されます。 KVO通知を送信していることを確認することで、正確にはどういう意味ですか? –

+0

それは大丈夫だったのですが、setterメソッドを使う代わりに - [self setValue:forKey]を使ってください! ありがとうございました! –

+0

あなたはこの回答を正しいとマークする必要があります:-) –

関連する問題