在我的应用程序中,我需要绘制许多地标并不断更新它们的位置(或者如果它们变旧则删除它们)。现在我用一些级联和顺序循环来做这件事,我担心这不是最有效的方法。这是我到目前为止的工作方式:
- 对于要绘制的每个地标,我首先在 MapKit 注释数组(由我添加创建日期和唯一标识符的自定义 MKPlacemark 制作)中搜索要绘制的地标的唯一 ID。如果我找到地标,我只更新它的位置,否则我在地图上添加新的注释。
- 对于 MapKit 注释数组中的每个地标,我检查从现在到创建日期之间的经过时间是否大于 10 秒,如果是,我从地图中删除该注释。
我每 2 秒重复这 2 个循环。
问题是当我管理 20 个或更多地标时,循环会花费太多时间,并且更新删除过程无法按预期工作。
使用 annotations 数组最快的方法是什么?删除每个注释并重新绘制它们是否更快?