0

地図上に場所を表示するアプリがあります。最初のビュー (MapViewController) から別のビュー (locationDetailViewController) にデータを渡したい

以下のコードを使用してデータを渡すと、別の 2 番目のビューに移動します。ただし、可変配列を別のView Controllerに渡しません...

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{PlaceDetailViewController *det=[[PlaceDetailViewController alloc]init];
det.PlaceDetailMutableArray=PlaceMutableArray;
[self performSegueWithIdentifier:@"DetailView" sender:view];}

前もって感謝します

4

1 に答える 1

1

これを試して:

SecondViewController.m で、メソッドを追加します (SecondViewController.h でも宣言することを忘れないでください)。

-(void)setValue:(NSMutableArray*)array
{
NSMutableArray *PlaceDetailMutableArray = [[NSMutableArray alloc] init];
PlaceDetailMutableArray = array;
}

最初の ViewController に、以下のコードを追加します。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"DetailView"]) {
 PlaceDetailViewController *det= segue.destinationViewController;
 [det setValue: PlaceMutableArray];
}
}

最後に、例のコードを次のように変更します。

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view     calloutAccessoryControlTapped:(UIControl *)control
{
[self performSegueWithIdentifier:@"DetailView" sender:view];
}
于 2013-11-12T01:22:17.120 に答える