へのNSSearchField
バインドがありNSDictionaryController
ます。私の検索フィールドの述語形式には、次のようなコードがありますが、これkey contains $value
はどういう意味ですか? 述語形式 (コード行) には他にどのような選択肢がありますか? ありがとう!
4 に答える
ドキュメントをすばやく検索すると、述語プログラミングガイドのこの章が表示されます。
変数は
$
(たとえば$VARIABLE_NAME
)で示されます。
明示的に言及されている場所はどこにもありませんが、接頭辞がaでない$
識別子はキーとして扱われる、つまりKey-Valueコーディングによって取得されるという意味です。述語は、値が key
…</p>
の辞書コントローラーからのオブジェクトと一致します。
CONTAINS
- 左側の式には右側の式が含まれています。
…の値が含まれ$value
ています。
では、それでは何$value
ですか?Cocoaバインディングリファレンスは次のように説明しています。
複数値の述語バインディングを使用すると、述語フィルターに対応するメニュー項目が事前に入力された検索フィールドのポップアップメニューを作成できます。各述語バインディングは、検索フィールドのポップアップメニューのエントリに対応しています。この複数値バインディングは、NSSearchField述部バインディングによって使用されます。
表示名の文字列は、メニュー項目のタイトルとして使用されます。述語形式は、「述語プログラミングガイド」で説明されている述語形式を使用して、そのメニュー項目の述語を指定する文字列です。述語形式の文字列に出現する文字列
$value
はすべて、検索フィールドの内容に置き換えられます。
つまり、NSSearchFieldはvalue
、その述語の変数を、現在フィールドにあるテキスト、つまりユーザーが検索しているテキストを保持するものとして事前定義します。
したがって、たとえば、形式で述語を作成し、ユーザーが「Emily」を検索した場合、その述語は、文字列「Emily」を(サブストリングとして)含むname contains $value
オブジェクトと一致します。name
key
辞書のキーを$value
表し、に入力された値を表しますNSSearchField
。
より多くのフィールドから検索するには、||を使用できます。および&&は述語形式です。
なんとなく分かった!I 述語形式の場合は、入力するだけです
value contains $value
それが機能するために。今分かります!助けてくれてありがとう!!!
foreach (var item in dictionary) {
cellValue.Text = item.Value.ToString();
}