1

我正在尝试向我的 MKAnnotation 添加自定义值。我想让它存储该位置的唯一 ID。我使用标题和副标题设置注释的代码如下所示:

location.latitude = [dictionary[@"placeLatitude"] doubleValue];
location.longitude = [dictionary[@"placeLongitude"] doubleValue];

newAnnotation = [[MapViewAnnotation alloc] initWithTitle:dictionary[@"placeName"]
                                               andCoordinate:location];

newAnnotation.subtitle = dictionary[@"placeCity"];

如何添加自定义属性,例如“placeId”?这就是我所拥有的:

newAnnotation.placeId=dictionary[@"placeId"];

任何帮助都会很棒。谢谢!

4

2 回答 2

2

如果 MapViewAnnotation 是 MKAnnotation/MKAnnotationView 的子类,那么只需为其创建属性,合成并使用。如果没有,则在 MKAnnotationView 上创建类别。

以下是创建类别类的步骤。

  1. 右键单击项目并选择“新建文件”
  2. Cacoa Touch > Objective-C 分类 > Next
  3. 给类别:category_name & 类别在:category_on_class
  4. 在 .h 文件中只需创建 placeId 的属性
  5. 在 .m 中使用 @dynamic 合成它
  6. 在您的文件中导入该 .h 文件。

然后,您可以在该类的“classObject”对象上拥有“classObject.placeId”属性。

于 2013-02-13T08:12:08.880 回答
1

做 Bhargavi 说的,但是对 MapViewAnnotation.m 和 MapViewAnnotation.h 做

于 2013-02-14T08:26:06.753 回答