我正在重构我的应用程序,该应用程序在地图视图上显示了一堆多边形和注释。

目前,从字面上看,是很多代码由以下元素组成的情况:

CLLocationCoordinate2D theCoordinate1;
theCoordinate1.latitude = xx.xxxxx;
theCoordinate1.longitude = x.xxxxx;

MyAnnotation* myAnnotation1=[[MyAnnotation alloc] init];
myAnnotation1.coordinate=theCoordinate1;
myAnnotation1.title=@"buildingTitle";
myAnnotation1.subtitle=@"BuildingAddress";


然后,将注释添加到mapview。但是,使用多个注释会导致大量代码,我在这里看起来更加聪明,可以将文本文件中的坐标加载到由for循环组成的方法中(因此,同一代码块将定义坐标并根据这些坐标创建注释)。

目前,我唯一的问题是如何为注释赋予不同的名称。如果我要初始化一个注释对象,它一定要与先前的对象具有不同的名称吗?我对他们只带有数字后缀表示满意,那么我该怎么做呢?
我可以添加代码以自动递增NSInteger,然后将其转换为NSString并追加吗?

最佳答案

如果要初始化注释对象,则必须具有一个
  与前一个名称不同吗?


并不是的。假设您在循环内完成所有注释,则可以为变量使用相同的名称,这不会造成任何问题,因为该变量的范围限制在循环内。

如果以后需要访问/查找对象,则需要将这些注释存储在数组中。

10-05 22:37