私は mkreversegeocoder クラスの使用法を学んでおり、次の 3 行のコードを使用して didFindPlacemark メソッドを実装することで機能するようになりました。
geoCoder = [[MKReverseGeocoder alloc] initWithCoordinate:[u coordinate]];
[geoCoder setDelegate:self];
[geoCoder start];
上記は正常に機能しますが、メモリとリソースの管理を考えてアプリを改善しようとして、geoCoder 割り当ての自動解放を追加しようとしています。
geoCoder = [[[MKReverseGeocoder alloc] initWithCoordinate:[u coordinate]] autorelease];
上記のパターンは Apple のドキュメントで使用されているため、正しいことのように思えます。ただし、autorelease を追加すると、didFindPlacemark メソッドは呼び出されません。autorelease が geoCoder オブジェクトをすぐに解放するかのようです。
geoCoder オブジェクトは ivar として宣言されているため、機能するはずです。このパターンを使用したリンゴの例は機能するため、問題は私の実装にあるはずですが、どこが間違っているのかわかりません。
何が起こっているのか、どうすればこれを進めることができるのかについて、誰かの意見をいただければ幸いです。
よろしくお願いします