MKPlacemark 已声明,但未使用?
我想知道,声明 MKPlacemark *mPlacemark; 有什么意义?如果我们不在代码中“真正”使用它?
在 .h 文件中:
-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark{
NSLog(@"Reverse Geocoder completed");
mPlacemark=placemark;
[mapView addAnnotation:placemark];
}
在 .h 文件中:
MKPlacemark *mPlacemark;
所以我们将地标添加到视图中,但是“mPlacemark”似乎没有被利用呢?
谢谢
i was wondering, what is the point to declare a MKPlacemark *mPlacemark; if we don't "really" use it in the code?
in the .h file :
-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark{
NSLog(@"Reverse Geocoder completed");
mPlacemark=placemark;
[mapView addAnnotation:placemark];
}
And in the .h file :
MKPlacemark *mPlacemark;
so we added the placemark to the view, but what about "mPlacemark" which not seems to be utilized ?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用地标的唯一位置是在该委托方法中,那么您不需要在 .h 中声明地标,也不需要在委托方法中设置它。
可能需要它的一个原因是,如果代码中的其他地方(委托方法之外),您需要知道“最后找到的地标”是什么。如果您确实需要保存该引用,则将其声明为保留属性并使用
self.mPlacemark = placemark;
设置它可能会更安全。If the only place you're using the placemark is in that delegate method, then you don't need to declare one in the .h and you don't need to set it in the delegate method.
One reason it might be needed is if somewhere else in the code (outside the delegate method), you need to know what the "last found placemark" is. If you do need to save that reference though, it might be safer to declare it as a retain property and set it using
self.mPlacemark = placemark;
.