Я подозреваю, что в XCode4 IB есть ошибки, потому что добавление ключевого пути в Редакторе предикатов через IB и добавление записи в DEFAULT_PREDICATE приводит к «Предупреждение - невозможно найти предикат соответствия шаблону». Проверьте этот пример, чтобы понять;) Кажется, есть известная проблема? Может быть, я что-то упустил ..

го проблем с элементами управления редактора предикатов в Xcode 4 - я думаю, что я все делаю правильно, и кажется, что сама среда IDE обанкротилась.

У меня есть эта проблема в приложении, которое я пишу, но чтобы изолировать ее, я сделал следующее:

Создайте новый проект с окном. В редакторе XIB добавьте к нему NSPredicateEditor и добавьте одну строку. Оставьте его как ключевые пути / строки и добавьте два ключевых пути - «заголовок» и «писатель». Сделайте так, чтобы он был диакритическим и нечувствительным.

Создайте подкласс NSWindowController и добавьте IBOutlet для редактора предикатов.

В awakeFromNib поместите следующий код:

NSPredicate * myPredicate = [NSPredicate ultimateateWithFormat: @ "(название СОДЕРЖИТ [CD]% @) И (писатель СОДЕРЖИТ [CD]% @)", @ "", @ ""];

[_predicateEditor setObjectValue: myPredicate];

Это приводит к следующему в консоли:

2011-04-12 15: 59: 37.709 PredicateTest [38419: 903] Предупреждение - невозможно найти шаблон, соответствующий названию предиката CONTAINS [cd] ""

2011-04-12 15: 59: 37.710 PredicateTest [38419: 903] Предупреждение - не удается найти сопоставление шаблонов с предикатом-автором СОДЕРЖИТ [cd] ""

Когда я нажимаю кнопку (+), чтобы добавить новую строку, я получаю следующее:

2011-04-12 15: 59: 40.044 PredicateTest [38419: 903] Невозможно создать предикат сравнения с оператором или выражением nil.

Правильно ли я думаю, что здесь я не делаю ничего плохого, и это должно сработать? Если я изменю шаблон строки редактора предикатов в сторону от ключевых путей, затем переключу его обратно на ключевые пути и отредактирую список ключевых путей, Xcode вылетает с исключением из-за внутренней согласованности, что заставляет меня думать, что Xcode 4 не может работать, когда речь идет о редактировании предикатов.

У кого-нибудь есть идеи? Я пытался создать NSPredicateEditor в коде, а не в редакторе XIB, и без конца возился безрезультатно. Функциональность редактирования предикатов - это все, что меня удерживает, когда я выпускаю приложение в магазин, так что это немного раздражает.

Ответы на вопрос(4)

Ваш ответ на вопрос