0

私には2つの見方があります。1つ目は、MKMapViewいくつかの注釈付きです。プッシュをクリックするとUIButton、スタックの2番目のビューがプッシュされます。これにはUITableView、マップ注釈に対応する注釈のリストがあります。したがって、削除ボタンをクリックしたときにMKMapView、別のビューにあるmyを呼び出すと、注釈を削除できます。私MKMapViewは、現在のクラスだけでなく、アプリデリゲートでも宣言されています。私は以下を使おうとしていますが、機能していません:

RideAppDelegate *appDelegate = (RideAppDelegate *)[[UIApplication sharedApplication] delegate];
Annotation *ano;
CLLocationCoordinate2D anoPoint;
anoPoint.latitude = [[eventToDelete valueForKey:@"latitude"] doubleValue];
anoPoint.longitude = [[eventToDelete valueForKey:@"longitude"] doubleValue];
ano = [[[Annotation alloc] init] autorelease];
ano.coordinate = anoPoint;
[appDelegate.ridesMap removeAnnotation: ano];
[appDelegate release];

MKMapView他のビューに誤ってアクセスしようとしている必要がありますか?

4

1 に答える 1

1
  • ridesMapはMKMapViewである必要があり、これはappDelegateのivarである必要があります。(保持)のある物件ですか?それは作成され、割り当てられていますか、self.ridesMap = [[MKMapView alloc] init]または類似していますか?
  • アノテーションはMKAnnotationプロトコルに従っていると確信していますか?

(なぜappDelegateをリリースするのですか?あなたはそれを所有または保持していません。)

于 2010-05-18T05:56:36.227 に答える