2

でエンティティを表示する典型的なMacCoreDataアプリケーションとNSTableViewNSArrayController現在選択されているアイテムを編集/表示するための右側のパネルがありNSTableViewます。にプロパティ(color)が表示されているEntity(Pigeon)があるので、ユーザーは色に独自の文字列を入力するか、ドロップダウンリストから以前に選択した色を選択できます。これは、のコンテンツ値をにバインドすることによって行われます。これは私が望むものに非常に近いですが、ハトに存在するすべての色の配列(セットではない)であるため、重複する値がドロップダウンリストに表示されます。NSStringNSComboBoxNSComboBoxPigeons.arrangedObjects.colourNSComboBox。したがって、たとえば、1つの鳩の色に青が入力され、2番目の鳩にも青が選択されている場合、青はリストに2回表示されます。

どういうわけか、これをフィルタリングして重複する値を削除できますか?NSArrayControllerにバインドされている秒を作成し、それをフィルタリングするようにPigeons.arrangedObjects.colour設定しようとしましたが、重複する値をNSPredicate除外するためのを理解できないようです。NSPredicate色の値にバインディングを使用したいので、アプリケーションの実行中に色が追加または削除された場合(色の入力に誤りがあった可能性があります)、ドロップダウンリストが更新されて現在、ハトのカラー値を入力しています。

これらの重複する値を表示しないための最良の方法は何ですか?

4

1 に答える 1

2

私は電話をしていて少し怠け者ですが、次のようなキーパスを探していると思います:@ "@distinctunionofobects.someproperty"...またはgoogleキーパス演算子。

于 2012-05-01T00:56:03.730 に答える