ファイルパスの配列があり、UIにNSPredicateEditorセットアップがあり、ユーザーはNSPredicateを組み合わせてファイルを見つけることができます。彼は名前、タイプ、サイズ、日付でフィルタリングできるはずです。
私が今抱えているいくつかの問題があります:
- エディターから取得できる述語オブジェクトは1つだけです。「predicateForRow:」を使用すると 、(null)が返されます
- ユーザーがファイルを名前とサイズまたは日付でフィルタリングしたい場合、これらの情報が含まれていないため、配列でこの述語を使用することはできません。
NSStringオブジェクトに変換せずに、述語を異なる述語に分割してから、すべての@"OR"|を検索できますか。@ "AND"を使用してコンポーネントを配列に分離し、すべてのNSStringを新しい述語に変換しますか?
NSPredicateEditorの設定には、「左の式」のオプションがいくつかあります。 キーパス、定数値、文字列、整数、浮動小数点数、および日付です。「名前」、「タイプ」、「日付」、「サイズ」のドロップダウンメニューをユーザーに表示したい。しかし、生成された述語は自動的に次のようになります。
"name" MATCHES[c] "nameTest" OR "type" MATCHES[c] "jpg" OR size == 100
配列は文字列で埋められているため、「name」、「type」などを検索すると、これらの文字列は@"myString"*。name*mに応答しません。フィルターは、常に0個のオブジェクトを返します。メニューに名前、タイプ、サイズ、日付を表示する方法はありますが、手動で行わずに述語に「自己」を書き込む方法はありますか?
私はすでに公式のAppleチュートリアル、Stackoverflow、Google、さらにはYoutubeで手がかりを見つけて検索しました。この問題は、今ではほぼ1週間私を悩ませています。お時間をいただきありがとうございます!さらに詳しい情報が必要な場合はお知らせください。