我正在使用mapbox sdk,当用户使用它时,我必须向地图添加和删除几个注释。
我在添加大量注释时遇到性能问题。
我想是因为我不能再重复使用相同的注释了。事实上,我必须添加的注释与删除的注释相同,因此我应该真正重用它们。

//reuseIdentifier should be something specific for every single annotation like reuseIdentifier = annotation.latitude
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseIdentifier) as? MarkerView

if annotationView == nil
        //How can I both use Bundle.main.loadNibNamed(...) and instance with a custom identifier here
        annotationView = Bundle.main.loadNibNamed("MarkerView", owner: self, options: nil)?.first as? MarkerView

        annotationView!.frame = CGRect(x: 0, y: 0, width: 60, height: 120)

}

问题是,如果我从XIB文件加载视图,如何使用自定义标识符来实现?
这能解决我的性能问题吗?否则你有什么建议?

最佳答案

只需为视图提供一个自定义重用标识符:

- (NSString *) reuseIdentifier {
   return @"myIdentifier";
}

关于ios - 与Bundle.main.loadNibNamed重用标识符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46500865/

10-10 17:36