MKPlacemark объявлен, но не используется? - PullRequest
0 голосов
/ 07 июля 2011

Мне было интересно, какой смысл объявлять MKPlacemark * mPlacemark;если мы не «действительно» используем его в коде?
в файле .h:

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

И в файле .h:

MKPlacemark *mPlacemark;

, поэтому мы добавили метку к представлению, но как насчет mPlacemark, который, кажется, не используется?
спасибо

1 Ответ

1 голос
/ 07 июля 2011

Если единственное место, где вы используете метку, находится в этом методе делегата, вам не нужно объявлять его в .h, и вам не нужно устанавливать его в методе делегата.

Одна из причин, по которой это может понадобиться, заключается в том, что если где-то в коде (за пределами метода делегата) вам необходимо знать, что такое «последняя найденная метка». Если вам действительно нужно сохранить эту ссылку, возможно, было бы безопаснее объявить ее как свойство сохранения и установить ее с помощью self.mPlacemark = placemark;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...