私はデータをループするコアデータインポーターを持ち、インポートプロセス中に重複するレコードを無視します。奇妙なコア保存されていないデータをフェッチするときのデータの振る舞い
しかし、NSFetchRequestが保存されていない最近格納されたレコードと一致しないことがわかりました。そして、私は一見同一のクエリが異なる予期しない結果をもたらしているのを見ています。同様に、それらの両方が一致した後 -
fetchTest.predicate = [NSPredicate predicateWithFormat:@"%K = %@", @"intEmployee_id", @"3882"];
しかし:
fetchTest.predicate = [NSPredicate predicateWithFormat:@"%K = 3882", @"intEmployee_id"];
しかし、この一見同じ1にはない:
は例えば、私のテストでは、私は、このクエリが一致し、結果を返したことを発見しましたコンテキストは永続ストアに保存されます。
アップルのドキュメントによると、フェッチはデフォルトで保留中の変更に対して機能し、実際には[fetchTest includesPendingChanges] = YESに適合しています。
何が地球上で何が起こっているのですか?これらの2つのフェッチがどのように異なる結果を返すことは可能でしょうか?
私はあなたが何かをしているかもしれないと思います...私はタイプによって区別されないSQLiteに慣れています。下のデータフィールドが数。 – radven
これはそれでなければなりません。コアデータは意図的にデータベースレイヤーを隠します。あなたが予期している行動は予測できません。 IDを照会する適切な方法は上記のコードです。それを試して、それが問題を解決すれば教えてください。 – Mundi