問題タブ [nspredicate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
9431 参照

objective-c - NSPredicate と Core Data を使用して深い関係を築く

companiesControllerトップレベルの Core Data エンティティにバインドされた NSArrayController がありCompaniesます。

ACompanyには多数Departmentの があり、aDepartmentには多数の がありEmployeeます。これらは、1 対多の関係によって表されdepartmentsますemployees

の属性salaryEmployee基づいて、UI で呼び出されたメソッド内の給与に基づいてフィルタリングするために、これを動的に実行できると考えました。

悲しいかな、これは私にエラーを与えます: -[NSCFSet compare:]: unrecognized selector sent to instance.

0 投票する
2 に答える
453 参照

cocoa - NSPredicateEditor、検索語のない行を無視しますか?

私は経験の浅い Cocoa プログラマーであり、私の質問がドキュメントで何らかの形で回答されていて、単にそれを見逃していた場合、または NSPredicateEditor の動作について理解していないことがあった場合は、お詫び申し上げます。ただし、ドキュメントを検索してグーグルで検索しようとしましたが、ほとんど効果がありませんでした。したがって、私はあなたに質問をします。

NSPredicateEditor を使用して Core Data ベースのテーブル ビューをフィルタリングしようとしています。フィルタリングは、NSCompoundPredicate を作成することにより、さまざまな基準に基づいて行をフィルタリングするという点でうまく機能します。ただし、述語エディターの行の検索フィールドにテキストがない場合、返される NSPredicate は次のようなものになります。

...これは Core Data レコードのどれとも一致しません - 私が望むものではありません。その行の検索フィールドが空白の場合、基本的に、データ セットをフィルター処理したくありません。

私の質問は、述語のこれらの部分を無視するための最も簡単で最良の解決策は何ですか? 私の最初のアイデアは、 NSPredicateEditor の値を行ごとに解析し(NSPredicate *)predicateForRow:(NSInteger)row、述語を自分で再構築して、一致しようとしている行を無視すること""でしたが、それは不必要に面倒に思えます。最終的な NSCompoundPredicate を分解し- (NSArray *)subpredicatesてそのように編集することも、おそらく私のやり方が間違っているように思えます。これを行うよりエレガントな方法はありますか?

*明確にするために、現在NSPredicateEditorに保存されている最初の述語を実際に編集するのではなく、テーブルビューのコントローラーに渡す述語のコピーを編集することを考えています。

0 投票する
1 に答える
1285 参照

cocoa - cocoa iphone core-data predicate one-to-many fetchrequest

属性 (ファームウェア) の 1 つが 1 対多の関係であるデータのセットがあります。

ファームウェア ID が 1 のレコードを取得したい場合は、次を使用して述語を作成できます。

次に、次を使用してセットをさらに絞り込む別の条件セットがあります

最初にファームウェアをフィルタリングし、次に 2 番目の条件をフィルタリングするようにそれらを組み合わせる、または設定するにはどうすればよいですか? 最終的に、Firmware.FID=1、TopLevel==YES、Parent>0 のすべてのレコードが必要です。

ありがとう、ハウィー

0 投票する
2 に答える
5517 参照

iphone - NSPredicate とコア データの使用 NSFetchedResultsController

エンティティ「アカウント」のすべてのレコードを返した fetchedResultsController があります。

すべての Account レコードで属性 "lastName" == 値をすばやく検索し、Account オブジェクト、または少なくとも fetchedResultsController 内のオブジェクトの indexPath を返したいと考えています。返されるオブジェクトは 1 つだけです。

すべての objectAtIndexPath を反復処理する以外に、NSPredicate を使用して fetchController を検索するより良い方法はありますか?

0 投票する
1 に答える
670 参照

cocoa - Fetch Predicate の NSDate 定数

IB で Fetch Predicate を使用して、Core Data から返されるデフォルトの結果をフィルタリングしていますが、実際には次のようなものを探しています。

作成日 < 昨日

ここで、「YESTERDAY」は昨日の nsdate 定数であるはずなので、すべての結果が昨日より前に返されます。

これはうまくいきませんでした。そして、いくつかの検索ではこれに関連するものは何も見つからなかったので、ここでやりたいことは可能だろうと思っています.

0 投票する
1 に答える
1932 参照

iphone - NSFetchedResultController と UISearchBar の実装

iPhone のコア データを使用して単純なナビゲーション ベースのアプリを作成しており、少し検索を実装しようとしています。このアプリは、Apple の「ナビゲーション ベースのアプリケーション」テンプレートに基づいています。NSFetchedResultsController はすべてのオブジェクトを取得し、テーブル ビューに表示されます。また、新しいオブジェクトを追加するためにプラス ボタンを残しました。さて、UISearchBar と UISearchDisplayController を両方とも同じように実装しました。検索では、同じ NSFetchedResultsController を使用してオブジェクトをフィルタリングします。NSPredicate は UISearchDisplayController Delegate メソッドで設定されますが、fetchedResultsController は何もフィルタリングしないため、述語が設定されていないようです。それが私の最初の問題です。今、検索バーのキャンセルボタンを押して、プラスボタンを押して新しいオブジェクトを挿入したいのですが、うまくいきません。オブジェクトは挿入されず、アプリはクラッシュせず、何も起こりません。

1 つのビューで 2 つの異なる NSFetchedResultsController を使用する必要がありますか? はいの場合、これは NSPredicate が設定されていない理由の問題を解決しません。私はすでにあなたの助けに感謝しています.

0 投票する
1 に答える
3922 参照

iphone - Objective-C: NSPredicate LIKE はスペースが好きではありません。空白を置き換えるエスケープシーケンスはありますか?

次のような NSPredicate があります。

「同義語」プロパティを持つクラスのオブジェクトの NSArray に適用します。

searchText が「Thanks」などの単語全体の場合は正常に機能します。ただし、'Thank you' などのスペースを含む文字列を使用しようとすると失敗し、述語検索で配列内の一致が見つかりません。

NSPredicate に空白を含む単語を処理するように依頼する方法はありますか?

ありがとう。

0 投票する
1 に答える
981 参照

iphone - NSPredicate 集計 IN ステートメントが機能しない

私は少しCoreData初心者ですが、ゆっくりと理解しています。次のコードに問題があります。

私の Artiste マネージド オブジェクトには、artisteId の NSNumber フィールドがあり、オブジェクト コンテキスト内のすべての Artistes をループしました。ID が 1 ~ 420 のオブジェクトが確実に存在します。

しかし、私のヘルパー メソッドは常にそのクエリで空の結果セットを返します

助言がありますか?

それが機能することをテストするために、私は以下を使用し、3つの結果を得ました

0 投票する
1 に答える
5275 参照

iphone-sdk-3.0 - FilteredArrayUsingPredicateを使用すると、CoreDataでフェッチされたオブジェクトに対して常に空の配列が返されます

NSArrayのfilteredArrayUsingPredicate:メソッドを使用して、コアデータの管理対象オブジェクトの配列をフィルタリングしようとしています。概要は次のとおりです。

これは常に空の'filteredArray'を返しますか?それが私の述語だと思いますが、「配列」内のオブジェクトは「名前」と呼ばれるキーを持つ管理対象オブジェクトであることを知っています。'searchString'の値は問題なく、以前にperformFetch:を実行しました。

0 投票する
1 に答える
1803 参照

iphone - Coredata で NSPredicate と NSEntityDescription をセットアップして複雑な SQL クエリを実行する方法

NSPredicate を作成して SQL のようにする方法を知っています"SELECT * FROM DRINK"。しかし、次のクエリはどうでしょうか。

この種のクエリに対して NSEntityDescription と NSPredicate を設定するにはどうすればよいですか?