MKReverseGeocoder(reversegeocoder)を使用して、ユーザーの現在地を取得しています。CLLocationManagerのlocationDidUpdatedToLocationメソッドでreversegeocoderを呼び出しています。
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
if(!reverseGeocoder )
{
NSLog(@"geocoder is nill");
reverseGeocoder=[[MKReverseGeocoder alloc] initWithCoordinate:[newLocation coordinate]];
reverseGeocoder.delegate=self;
[reverseGeocoder start];
NSLog(@"geocoder allocated");
}
else
{
NSLog(@"geocoder is not nill");
if(reverseGeocoder.querying)
{
//do nothing ;
}
else
[reverseGeocoder release];
}
}
.queryingプロパティは、reversegeocoderがクエリを完了したときにのみ解放されるようにするために使用されます。ただし、実行後3〜4秒以内にアプリケーションがクラッシュし、エラーメッセージが表示される場合
-[MKReverseGeocoder isQuerying]: message sent to deallocated instance
ここで何が欠けていますか?
よろしくお願いします。