Google マップの iOS SDK を使用した地図ベースのアプリケーションがあります。コア データ データベースに最大数千のアイテムを保存し、マップ上にマーカーで表示する必要があります。パフォーマンスと使いやすさの理由から、ユーザーがズームアウトしたときにこれらのマーカーをクラスター化する必要がありますが、代表的なマーカーを配置して、ユーザーがズームインして詳細を確認できるようにする必要があります。
コア データ モデルの各エントリには、緯度/経度の double 値が格納されています。アイテムをクラスタリングするために私が考えたのは、地理座標の重要でない部分を取り除き、そこにカウントを格納する別のエンティティを保持することです。
したがって、緯度/経度 {44.9382719, -130.20293849} を持つアイテムがデータベースに挿入されるたびに、緯度/経度 {44.9, -130.2} を持つ別の「クラスター」オブジェクトの count プロパティが増加します。低ズーム (ズームアウト) では、クラスター オブジェクトのみをクエリし、実際のアイテムではなくマップ上に配置するという考え方です。
私の質問は次のとおりです: NSManagedObject 参照によると、 にあるものをフェッチすることは想定されていません。ではawakeFromInsert
、ある種類の管理対象オブジェクトを挿入すると、別の種類の対応する管理対象オブジェクトの値が更新されることを確認するにはどうすればよいでしょうか?