MKPlacemark宣布但未使用?

时间:2011-07-07 11:54:19

标签: objective-c mapkit

我想知道,宣布MKPlacemark * mPlacemark是什么意思;如果我们不“真的”在代码中使用它?
  在.h文件中:

   -(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark{  
    NSLog(@"Reverse Geocoder completed");  
    mPlacemark=placemark;  
    [mapView addAnnotation:placemark];  
}  

在.h文件中:

  

MKPlacemark *mPlacemark;

所以我们在视图中添加了地标,但是“mPlacemark”似乎没有被使用呢?
感谢

1 个答案:

答案 0 :(得分:1)

如果您使用地标的唯一地方是该委托方法,那么您不需要在.h中声明一个,也不需要在委托方法中设置它。

可能需要的一个原因是,如果代码中的其他位置(在委托方法之外),您需要知道“最后找到的地标”是什么。如果确实需要保存该引用,则将其声明为retain属性并使用self.mPlacemark = placemark;进行设置可能更安全。