我正在重构我的应用程序,在地图视图上显示一堆多边形和注释。
目前,很多代码都包含以下元素:
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并附加吗?
答案 0 :(得分:1)
如果我正在初始化一个注释对象,它肯定有一个 与前一个名称不同?
不是真的。假设你在循环中做了所有的注释,你可以对变量使用相同的名称,它不会引起任何问题,因为该变量的范围被限制在循环中。
如果您以后需要访问/查找对象,那么您需要做的是将这些注释存储在数组中。
答案 1 :(得分:0)
当然,您可以轻松地在字符串中添加数字:
int increment = 0;
// etc....
NSString *myLabel = [NSString stringWithFormat:@"myLabel-%d", increment++];