0

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

目前,它实际上是由以下元素组成的大量代码的情况:

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

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

然后我将注释添加到地图视图中。但是,由于有多个注释,这会导致大量代码,我希望通过将文本文件中的坐标加载到由 for 循环组成的方法中来变得更聪明(因此相同的代码块将定义坐标并从这些坐标创建注释)。

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

4

2 回答 2

1

如果我正在初始化一个注释对象,它肯定必须具有与前一个不同的名称吗?

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

如果您需要稍后访问/查找对象,那么您需要将这些注释存储在一个数组中。

于 2012-11-25T00:02:54.837 回答
0

当然,您可以轻松地将数字添加到字符串中:

int increment = 0;
// etc....
NSString *myLabel = [NSString stringWithFormat:@"myLabel-%d", increment++];
于 2012-11-25T00:04:33.027 回答