問題タブ [nsfetchrequest]

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 投票する
1 に答える
149 参照

iphone - コアデータ:値に応じてプロパティを返す

エンティティにクエリを実行し、条件に一致するプロパティを返すフェッチリクエストを作成する方法を教えてもらえますか?

これが私が持っているものです。35のプロパティを持つエンティティがあり、すべてフロートのタイプです。私が必要としたのは、値がゼロ以下であるエンティティのすべてのプロパティを確認することでした。

プロパティの値を返す方法は知っていますが、プロパティの名前を返す方法はわかりません。

ありがとう、

0 投票する
3 に答える
253 参照

iphone - 無秩序/順序付けられたコンテキストフェッチ

executeFetchRequestを実行した後、配列オブジェクトに割り当てられた値が「無秩序」になる理由がわかりません。さて、ここでフェッチが問題になるかどうかはわかりません。これがコードです。

印刷

配列オブジェクトへのフェッチ実行後の新しい間違った順序
インデックス0::アイテム:d
インデックス1 ::アイテム:c
インデックス2 ::アイテム:e
インデックス3 ::アイテム:b
インデックス4 ::アイテム:a

ありがとうございました。

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

cocoa - CoreData: 計算されたプロパティの最小値を見つける

2 つのプロパティ x と y (両方とも NSNumber) を持つ CoreData エンティティ "Point" があるとします。

a、bと言う最も近いポイントを見つけられるようにするには、NSPredicateはどのように見える必要がありますか? 距離 = sqrt((xa) (xa)+(yb) (yb))

事前定義されたポイントまでの距離を計算する一時的なプロパティを定義することはできましたが、fetchrequest を起動するときにそのポイントをプログラムで変更する方法がわかりません。

どんな助けでも大歓迎です。

0 投票する
3 に答える
1973 参照

core-data - 新しく挿入されたオブジェクトを考慮しない NSDictionaryResultType 式

コア データのフィールドの最大値が必要なため、次のリクエストを設定しました。

ただし、事前にコンテキストに挿入された新しいオブジェクトは考慮されていないようです。これはどのように機能するはずですか?ストア内のオブジェクトでのみ機能しますか?

ドキュメントでそれへの参照が見つかりません。

ありがとう、

マイク

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

cocoa - NSTableView で NSArray からのデータを表示する

私は問題を抱えており、それに対する本当に簡単な解決策があると思いますが、それを理解することはできません!

私はこのコードを持っています:

これは、指定されたデータを配列で返します。このデータを NSTableView に表示したいと思います。

どうすればこれを行うことができますか?

ありがとう!

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 投票する
3 に答える
1239 参照

iphone - iPhoneコアデータ-シンプルなクエリ

CoreDataiPhoneアプリケーションを作成しようとしています。私が追跡しているエンティティの1つは車であり、各車の1つの属性は「メーカー」です。

私のアプリケーションの「車の編集」セクションには、以前にシステムに入力された固有のメーカーのそれぞれをロードする必要があるUIPickerViewがあります。私がやろうとしているのは、NSFetchRequestを作成して、一意の「manufacturer」属性の配列を取得し、それを使用してUIPickerViewにデータを入力することです。

私が遭遇している問題は、データストアにゼロレコードまたは100レコードがあるかどうかに関係なく、要素0で実行されたフェッチリクエストに値@""のレコードが常に1つあることです。

私はこれを間違ってやっていますか、それともこれを行う簡単な方法がありますか?簡単なSQLクエリを実行できたらいいのにと思います!!!

私のコードは以下の通りです:

ありがとう!

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

core-data - CoreDataとの関係の取得

双方向の関係を持つ2つの管理対象オブジェクトがあります。これは、「セグメント」オブジェクトを含む「segmentWithDetails」です。

私が使う

私のsegmentWithDetailsを取得します。これは問題なく動作します。

しかし、含まれているセグメントを取得しようとすると、nilになります。

私はそれを手に入れようとしました

しかし、これは機能しません(= nil)。NSFetchedResultsControllerの変更も試みました。私は以下を追加しました:

しかし、これらはどちらも違いがないようです。Appleのすばらしいドキュメントから私が理解していることから、この関係は障害を使用して機能するはずです。

ここで何が欠けていますか?'segmentWithDetails'からリレーションシップオブジェクト'segment'にアクセスするにはどうすればよいですか?

0 投票する
6 に答える
5300 参照

iphone - Core Data パターン: ネットワークからの変更でローカル情報を効率的に更新する方法は?

アプリに非効率性があり、それを理解して修正したいと考えています。

私のアルゴリズムは次のとおりです。

スキーマの一部である関連オブジェクトのキーを使用して述語クエリを作成することにより、A 行と B 行をチェックしています。A (常に) と B (実行がその部分に分岐した場合) の両方が、次のような SQL 選択を生成することがわかります。

クエリの 0.0071 秒は 3GS デバイスでは問題ありませんが、これらを 100 追加すると、700 ミリ秒のブロッカーが得られます。

私のコードでは、これらのフェッチを行うためにヘルパーを使用しています。

これは間違っていると思うので、別の方法でチェックを行う必要があります。データベースに一度だけヒットし、その後はメモリから取得する必要がありますよね? (SQL は、確実にローカルに存在し、以前のクエリでメモリにロードされているはずのオブジェクトに対しても実行されます。) しかし、外部ソースからの myObjectId しか持っていない場合、これは私が考えることができる最高のものです。

したがって、おそらく問題は、myObjectId (MyObject の Core Data int64 プロパティ) がある場合、関連するローカル オブジェクトが CD ストアに存在するかどうかを正しく確認するにはどうすればよいでしょうか? 可能な一致のセット全体をプリロードしてから、ローカル配列を述語しますか?

(考えられる解決策の 1 つは、これをバックグラウンド スレッドに移動することです。スレッドから変更を取得して [moc mergeChangesFromContextDidSaveNotification:aNotification]; を実行する場合を除いて、これは問題ありません (通知によってバックグラウンド スレッドから変更されたオブジェクトを取得する)、これはそれでもブロックします。)

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

iphone - ローカライズされた並べ替えを使用したiPhoneフェッチリクエスト

コアデータモデルからソートされたローカライズされたデータを取得しようとしています。私のコード:

ただし、オブジェクトを取得すると、元の値(ローカライズされていないデータ)で並べ替えられます。

私は何を正しくしていないのですか?