私はどこかに明白な何かがないと思います。 私は(CLLocation *)lastqueriedlocationをプロパティとしてヘッダに定義して合成しました。 didUPdateToLocation:fromLocation:私はlocationManagerでそれを更新したい永続的なCLLocationの保存
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ CLLocationDistance dist = [lastQueriedLocation getDistanceFrom:newLocation]; if (dist>1000) { lastQueriedLocation = newLocation; [self reSearch:lastQueriedLocation]; } if ([resultArray count] > 0) { [self findAndDisplayNearestLocation:location]; } }
lastQueriedLocationはallocedとのviewDidLoadでinit'dされます。
もちろん、lastQueriedLocation = newLocation;
の結果はEXC_BAD_ACCESS
になります。では、lastQueriedLocationを永続化する正しい方法は何ですか?
もし問題がより具体的になるのであれば、reSearchは場所の2km以内にPOIを取得しているWebサービスを呼び出しているので、私たちが1km移動したときにしかやりたいことはありません...しかし、一番近いところをハイライトして地図をスクロールすることができます。