2009-08-12 10 views
0

コード: geoCoder = [[MKReverseGeocoder alloc] initWithCoordinate:UserLocation];私はこのコードを持ってジオコーダを解放するために、私はdeallocメソッドで解放しても、それは私にMKReverseGeocoderInternalメモリリーク

答えて

-1

をメモリリークを与える

。 私はそれを解放しようとする前に実際に割り当てられたことを確認しました。私はそれもnilに設定しました。

- (void)dealloc 
{ 
    if(address!=nil) { 
     address = nil; 
     [address release]; 
    } 

    // releae the map delegate otherwise it will try and call our classes with no data. 
    map.delegate = nil; 
    [super dealloc]; 
} 
+0

あなたがnilに設定する前にリリースしていただきたいと思います。 –

+0

1.アドレス= nilを設定し、リリースメッセージをnilオブジェクトに送信しますか?どうして? アドレスを割り当てることができます。割り当てが解除されました。しかし、そのアドレスの後にはゼロではない – oxigen

+0

実際に良い点は、私はStackOverflowでこの答えを見てきました。 http://stackoverflow.com/questions/1211018/objective-c-release-dealloc-and-the-self-reference 私は逆の順序でそれを持つべきだと思います。 [住所のリリース];アドレス= nil; nilは必要ないかもしれませんが、私は悪いとは思わないでしょう。 コメントをいただきありがとうございます、私はまだこのようなことを学んでいます。乾杯。 –