У меня есть типичное приложение Mac CoreData, которое отображает мои объекты в NSTableView
с помощью NSArrayController
и панель справа для редактирования/отображения выбранного в данный момент элемента в NSTableView
. У меня есть Entity
(Pigeon) с изображением NSString
(цвет), отображаемым в NSComboBox
, так что пользователь может ввести свою собственную строку для цвета или выбрать ранее выбранный цвет из выпадающего списка. Это делается путем привязки значений содержимого NSComboBox
к Pigeons.arrangedObjects.colour
. Это sooooooo близко к тому, что я хочу, но поскольку это массив (а не набор) всех цветов, существующих для голубей, дублирующиеся значения перечислены в выпадающем списке NSComboBox
. Поэтому, если, например, для цвета для одного голубого введен синий цвет, и он также выбран для второго голубя, тогда синий отображается в списке дважды.NSComboBox для отображения уникальных элементов из привязки объекта coredata свойства
Есть ли какой-то способ, как-то я могу отфильтровать это, чтобы удалить повторяющиеся значения? Я попытался сделать второй NSArrayController
, который привязан к Pigeons.arrangedObjects.colour
и установил NSPredicate
, чтобы отфильтровать его, но я не могу найти NSPredicate
для фильтрации повторяющихся значений. Я хочу использовать привязки для значений цветов, так что, когда приложение запущено, если цвет добавлен или удален (возможно, ошибка была сделана при вводе цвета), то раскрывающийся список обновляется, чтобы иметь только в настоящее время введенные значения цвета для голуби.
Каков наилучший способ не показывать эти повторяющиеся значения?
+1 за упорное нежелание использовать американизированную 'color' в коде :-) –
: DI думал об изменении его' color' только для задавая вопрос и решили, что было глупо :) – DonnaLea