0

私は iPhone プログラミングが初めてで、MKMapView を練習していましたが、流用されていないデータが表示されています。私は2つのViewControllerを持っています。最初の ViewController には、以下に記述されたコーディングのボタンがあります:- 以下に示すデータを持つ 2 つの配列があります:- DetailArray:- inNetwork = true;

    resName = taverna1;  
    statusColor = "#FF0000";
    statusString = "30 MIN";
    true = hasPromo;
},
    {
    false = hasPromo;
    inNetwork = true;
    resName = bungalow;
    statusColor = 00FF00;
    statusString = "NO WAIT";
},
    {
    inNetwork = true;
    resName = "casa_nostra";
    statusColor = 00FF00;
    statusString = "NO WAIT";
    true = hasPromo;
},
    {
    inNetwork = true;
    resName = karebu;
    statusColor = 00FF00;
    statusString = "NO WAIT";
    true = hasPromo;
}




**Annotation Array**

(
    "<MyAnnotViewController: 0x8457b60>",
    "<MyAnnotViewController: 0x845a040>",
    "<MyAnnotViewController: 0x84439f0>",
    "<MyAnnotViewController: 0x806f090>"
)

MyAnnoationViewcontroller は MKAnnotation のサブクラスです。タイトルと座標が含まれています。

  SecondViewController *_SecondViewController =[[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
    _SecondViewController.DetailArray = detailArray;
    _SecondViewController.annotationArray = annotationArray;
     [self.navigationController pushViewController:_SecondViewController animated:YES];

2 番目のViewController:-

MKMapView * MapView =[[MKMapView alloc]initWithFrame:CGRectMake(0, 0, 320, 415)];
MapView.delegate =self;
MapView.showsUserLocation =NO;

[MapView addAnnotations:annotationArray];

[self.view addSubview:MapView];

Delegate メソッドでは、注釈に非常に不確実な結果が表示されます。塩素とタイトルが望ましい出力です。ただし、最初のレスト ネームの色は 2 番目のレストランの色を示しており、2 番目のレスト ネームは他の色を示しています。この問題から抜け出すために誰か助けてください。助けていただければ幸いです。

4

1 に答える 1

1

コードを表示していないviewForAnnotationので、暗闇の中で突き刺して、渡された注釈オブジェクトではなく、配列の順序に基づいて描画しているビューの色を設定していると推測しますにviewForAnnotationviewForAnnotationStackOverflow では、ここに関する多くの質問を見つけることができます。

PS 本当に iOS 4.0 を使っていますか? それはかなり古いです。

于 2013-04-22T21:27:29.933 に答える