2013-03-10 3 views
0

У меня есть NSSearchField, связанный с NSDictionaryController. В предикатном формате моего поля поиска у меня есть код key contains $value и что это значит? Какие еще существуют альтернативы для формата предиката (строки кода)? Благодаря!

ответ

2

key означает Ключ словаря и $value обозначает введенное значение в NSSearchField.

Для поиска из других полей вы можете использовать || и & & в формате предиката.

+0

http://stackoverflow.com/questions/15274870/cocoa-binding-mutable-dictionary-with-search-field –

+0

то что, если я хочу найти значение словаря? – user1927992

+0

Затем привяжите таблицу с ключом и значением к двум столбцам и используйте || в формате предсказания. –

-3
foreach (var item in dictionary) { 
    cellValue.Text = item.Value.ToString(); 
} 
+0

Я чувствую, что этот ответ был предназначен для вопроса monotouch – CodaFi

3

быстрый search of the docs поворачивает вверх this chapter in the Predicate Programming Guide:

Переменные обозначаются с $ (например $VARIABLE_NAME).

Я не вижу везде, где это явно указано, но подразумевается, что идентификаторы не префикса $ рассматриваются как ключи-то есть., Извлекаемые Key-Value Coding. Предикат будет соответствовать этим объектам из словаря контроллера которого value forkey ...

CONTAINS
Выражения левого содержит выражение правой руки.

... содержит значение $value.

Так что же $value, то? The Cocoa Bindings Reference explains:

Многократное значение предиката связывания позволяет создавать всплывающее меню поля поиска, которое предварительно заселена с пунктами меню, которые соответствуют предиката фильтров. Каждое из привязок предикатов соответствует записи во всплывающем меню поля поиска. Это связывание с несколькими значениями используется связыванием предикатов NSSearchField.

В качестве названия элемента меню используется строка отображаемого имени. Формат предиката - это строка, которая задает предикат для этого пункта меню с использованием формата предиката, описанного в руководстве по программированию предикатов. Любые вхождения строки $value в строке формата предиката заменяются содержимым поля поиска.

Других слова, NSSearchField предопределена переменная value для его предикатов, как проведение любого текст в настоящее время в полевых условиях., То есть текст пользователь ищет.

Так, например, если вы создаете предикат с форматом name contains $value, и пользователь ищет «Эмили», этот предикат будет соответствовать тем объектам, name содержит (в качестве подстроки) строку «Эмили».

+0

Тогда, если у меня есть словарь с ключами: один, два три. И строковые значения: 1,2,3. И я хочу найти его, чтобы при вводе «1» результаты поиска отображали объект 1 и его ключ? Как найти значение словаря вместо его ключа? – user1927992

+0

Проще говоря, как связать формат Predicate, чтобы я мог искать «значение» вместо поиска «ключа»? Спасибо! – user1927992

0

Я как-то узнал! I для формата предиката, мне просто нужно ввести

value contains $value 

для его работы. Теперь я понимаю! Спасибо за вашу помощь!!!

Смежные вопросы