我想知道,宣布MKPlacemark * mPlacemark是什么意思;如果我们不“真的”在代码中使用它?
在.h文件中:
-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark{
NSLog(@"Reverse Geocoder completed");
mPlacemark=placemark;
[mapView addAnnotation:placemark];
}
在.h文件中:
MKPlacemark *mPlacemark;
所以我们在视图中添加了地标,但是“mPlacemark”似乎没有被使用呢?
感谢
答案 0 :(得分:1)
如果您使用地标的唯一地方是该委托方法,那么您不需要在.h中声明一个,也不需要在委托方法中设置它。
可能需要的一个原因是,如果代码中的其他位置(在委托方法之外),您需要知道“最后找到的地标”是什么。如果确实需要保存该引用,则将其声明为retain属性并使用self.mPlacemark = placemark;
进行设置可能更安全。