0

MKMapView の注釈を削除しようとしてenter code hereいますが、次の行でクラッシュしています。

[self.mapView removeAnnotation:p];

p は MKAnnotation プロトコルを実装するオブジェクトであり、そのマップには既に注釈があります。

これは、クラッシュしたときに表示されるメッセージです。

objc[46534]: FREED(id): message release sent to freeed object=0x4319640 プログラムはシグナルを受信しました: “EXC_BAD_INSTRUCTION”. (gdb)

バックトレースは次のようになります。

(gdb) bt
#0  0x951424b4 in _objc_error ()
#1  0x951424ea in __objc_error ()
#2  0x951407dc in _freedHandler ()
#3  0x000786f6 in -[NSConcreteMapTable removeObjectForKey:] ()
#4  0x00003970 in -[MapViewController horizontalPickerVC:toggleGroup:enabled:] (self=0x4322a00, _cmd=0x24349, picker=0x43248c0, groupId=3, enabled=0 '\0') at /Users/me/Desktop/FanMapper/fanmapper/Classes/MapViewController.m:183

何か案は?

4

1 に答える 1

2

MKPinAnnotationView が autorelease に設定されていることが判明しました。

于 2010-05-13T19:16:47.203 に答える