NSPredicateEditor просто не отображается

У меня действительно странная проблема. Я пытаюсь поместить NSPredicateEditor в свой интерфейс с помощью IB, и когда я создаю приложение, оно просто отображается как пустой серый прямоугольник. Это без применения мною ЛЮБЫХ ИЗМЕНЕНИЙ к значениям по умолчанию, в том числе без изменения шаблонов по умолчанию. Что может происходить?


person Community    schedule 21.06.2010    source источник


Ответы (1)


NSPredicateEditor лучше всего работает, когда вы привязываете его к некоторому свойству (например, filterPredicate NSArrayController).

Шаблон, который вы настроили в IB, предназначен только для того, чтобы позволить вам определить ограничения правил (например, разрешить пользователю выбирать «имя» или «фамилию»), но не определяет, что отображается когда управление "живое".

Чтобы изменить «пустой» редактор (предикат фильтра контроллера массива или что-то другое), соедините действие кнопки или пункта меню с действием -addRow: представления редактора. Во время выполнения нажатие на нее добавит начальное «правило» (в соответствии с ограничениями, указанными в шаблоне IB). Вы даже можете проверить это в самом IB.

person Joshua Nozzi    schedule 21.06.2010
comment
+1 ответ: вам нужно вызвать addRow:, но и другая информация тоже весьма полезна. :) - person Dave DeLong; 22.06.2010
comment
Я вроде как сочувствую, так как я сразу понял источник путаницы — я сам прошел через это, когда впервые исследовал элемент управления. :-) Это было двояко: а) почему этот предикат по умолчанию ведет себя неправильно и б) почему он исчезает во время выполнения? - person Joshua Nozzi; 22.06.2010
comment
согласованный; Я провел хороший месяц или около того, выясняя, как работает NSPredicateEditor; Это не очень тщательно задокументированный контроль. - person Dave DeLong; 22.06.2010