У меня есть NSSearchField
, связанный с NSDictionaryController
. В предикатном формате моего поля поиска у меня есть код key contains $value
и что это значит? Какие еще существуют альтернативы для формата предиката (строки кода)? Благодаря!
ответ
key
означает Ключ словаря и $value
обозначает введенное значение в NSSearchField
.
Для поиска из других полей вы можете использовать || и & & в формате предиката.
foreach (var item in dictionary) {
cellValue.Text = item.Value.ToString();
}
Я чувствую, что этот ответ был предназначен для вопроса monotouch – CodaFi
быстрый 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
содержит (в качестве подстроки) строку «Эмили».
Тогда, если у меня есть словарь с ключами: один, два три. И строковые значения: 1,2,3. И я хочу найти его, чтобы при вводе «1» результаты поиска отображали объект 1 и его ключ? Как найти значение словаря вместо его ключа? – user1927992
Проще говоря, как связать формат Predicate, чтобы я мог искать «значение» вместо поиска «ключа»? Спасибо! – user1927992
Я как-то узнал! I для формата предиката, мне просто нужно ввести
value contains $value
для его работы. Теперь я понимаю! Спасибо за вашу помощь!!!
http://stackoverflow.com/questions/15274870/cocoa-binding-mutable-dictionary-with-search-field –
то что, если я хочу найти значение словаря? – user1927992
Затем привяжите таблицу с ключом и значением к двум столбцам и используйте || в формате предсказания. –