変更が全体のクエリ結果に影響を与えない場合、コレクション通知ブロックが変更のために起動しないレルムObjective-C v2.4.3の問題が発生しました。レルム収集通知がクエリに影響を与えない更新のために起動しない
簡略化した例を示します。
Feed
オブジェクトとFeedItem
オブジェクトです。フィードにはitems
RLMArrayプロパティがあります。
RLMArray<FeedItem *><FeedItem> *items
私はクエリがあるRLMResults用に設定収集通知ブロックを持っている:私は0からステータスプロパティを変更する場合
[Feed objectsWhere:@"ANY items.status > 0"]
挿入変更が発生します - 削除はI場合は同じように> 1。クエリの上限があり、それがそこから外れました。ただし、FeedItemのstatusプロパティーを変更しても(たとえば、1 - > 2に変更するなど)クエリに一致し続けると、この変更によって全体的なクエリ結果が影響を受けないため、通知変更ブロックがトリガーされません。
この変更は、コレクションドキュメントに記載されている変更の対象になると思いますか?
あなたは以前にコレクションの一部だったとまだそれの 一部であるオブジェクト のプロパティが変更されたときはいつでも変更、について通知しています。
あなたはその人に属する犬の年齢プロパティを変更します。
これは、離散的にアニメーションや、あなたのUIの内側、代わりに 任意すべてに通知が発生するたびにリロードの内容に行われた 視覚的な更新を制御することが可能となります。
アムは、私が働いて、この機能を取得するには何かが足りませんか? CollectionViewのデータソースはRLMResultsであり、個々のCollectionViewCellをリロードして、FeedItemのステータスへの更新を反映させたいと思います。
にコメントしてきた既存の2つのレルムgithubの問題を発見しました。私たちのGitHub号トラッカー(https://github.com/realm/realm-cocoa/issues)でチケットを発行したり、この問題を再現するデモプロジェクトを[email protected]に送ったりしますか? – AustinZ
ありがとう@AustinZ。私は2つの既存の問題についてコメントしました。 https://github.com/realm/realm-cocoa/issues/4305#issuecomment-283688989とhttps://github.com/realm/realm-cocoa/issues/3885#issuecomment-283274197 –
優秀!以前の人に気付かなかったことに対する謝罪。 – AustinZ