Утечка памяти в фундаменте NSCFString. NSString создан и выпущен. Все еще утечки - PullRequest
1 голос
/ 26 июля 2011

Я получаю утечку NSCFString из этого кода.Я понимаю, что это связано с NSString, однако, я не понимаю, как происходит утечка.Заранее спасибо за помощь ...

-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark{

    NSString *pTitle = [[NSString alloc] initWithString:placemark.title];

    mapView.userLocation.title = pTitle;
    [pTitle release];


}

Ответы [ 2 ]

3 голосов
/ 26 июля 2011

Вы также пропускаете вид карты? В этом случае сообщаемая утечка этой строки является просто расширением представления просочившейся карты.

Чаще всего наиболее просочившийся объект не является виновником. Виновником обычно является один объект, удерживающий дюжину из наиболее просочившихся объектов.

Кроме того, вы можете сократить свой код до:

-(void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark {
    mapView.userLocaltion.title = placemark.title;
}

Нет необходимости выполнять управление памятью, когда в ней нет необходимости:).

0 голосов
/ 27 июля 2011

В приятеле Apple Framework есть множество ошибок ... не беспокойтесь об утечках из framework.

Просто следуйте правилам на вашей стороне.Для каждого alloc, copy или retain должен быть соответствующий release.

Кроме того, iOS обрабатывает NSString совершенно по-другому. Так что лучше придерживатьсяправила.

надеюсь, это поможет ..

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