1

私は(例えば)車が入ったテーブルを持っています。車にはそれぞれ名前、色、走行距離があります。

インターフェイス ビルダーでバインディングを使用して、すべての車の総走行距離を表示するテキスト フィールドを作成できます。

値 - バインド先: Car Array Controller.arrangedObjects.@sum.mielage

ただし、赤い車と青い車の総走行距離は別箱でお願いします。配列をフィルタリングする述語を使用してこれをコーディングできることはわかっています。

NSPredicate *bluePredicate = [NSPredicate predicateWithFormat:@"color like blue"];

NSArray *blueCars = [[carArrayController arrangedObjects] filteredArrayUsingPredicate:bluePredicate];

NSNumber *blueMileage = [blueFilteredArray valueForKeyPath:@"@sum.mileage"];

しかし、これを行う必要はなく、テキスト ボックスの IBOutlets をコーディングする必要はありません。できれば純粋にIBでやりたいです。

何か案は??

乾杯、オリ

4

2 に答える 2

0

では、車の色ごとに個別のアレイコントローラーを作成してみませんか?それともそれも可変ですか?

車の色が変化する場合でも、おそらくこれをプログラムで行うのが最善の方法です。

于 2010-09-11T14:31:11.767 に答える
-1

多くのコントローラーを実行しないでください。最も洗練された解決策は、nsarraycontroller をサブクラス化し、何らかの形で「述語を使用して配置されたオブジェクト」のサポートを追加することだと思います

于 2010-09-12T13:39:08.120 に答える