我有一个基于地图的应用程序,使用 Google 地图的 iOS SDK。我需要在核心数据数据库中存储多达数千个项目,并在地图上用标记显示它们。出于性能和可用性的原因,我需要在用户缩小时对这些标记进行聚类,但我需要确保放置代表性标记,以便用户知道在哪里放大以查看更多细节。
我的核心数据模型中的每个条目都存储了纬度/经度双值。因此,我对项目进行聚类的想法是保留一个单独的实体,在其中剥离地理坐标中不太重要的部分并在其中存储计数。
因此,每当将纬度/经度为 {44.9382719, -130.20293849} 的项目插入数据库时,另一个纬度/经度为 {44.9, -130.2} 的“簇”对象的 count 属性就会递增。这个想法是,在低缩放(即缩小)时,我只会查询集群对象并将它们放置在地图上,而不是实际的项目上。
我的问题是:根据NSManagedObject 参考 https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html#//apple_ref/doc/uid/TP30001171-BBCJFJFC,你不应该在里面取东西awakeFromInsert
,那么如何确保插入一种托管对象会更新另一种相应托管对象的值?
我已经在 iOS 版 Google 地图中搜索聚类标记库三天了,最后我得到了这个https://github.com/googlemaps/google-maps-ios-utils https://github.com/googlemaps/google-maps-ios-utils,它运行良好并且非常易于使用和理解。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)