2012-03-22 11 views
0

テーブルビューコントローラがあり、選択されたセルによって内容が変わるサブビューDetailViewControllerがありますが、移動するとDetailViewControllerからMapViewに移動します。メソッド私はDetailViewController上のテキストを取得するために使用されていましたが、私が何をしていても機能しません。イムは、より多くのように3週間、今それで立ち往生:(選択したセルに応じて、マップビューに注釈ピンを追加する

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{ 場合は(self.detailViewController!){ self.detailViewController = [[DetailViewControllerのアロケーション] initWithNibName: "DetailViewController" バンドル@:nilを];

どんなに私がここに変更するもの
[self.navigationController pushViewController:self.detailViewController animated:YES]; 
[self.detailViewController changeProductText:[teksti objectAtIndex:indexPath.row]]; 
[self.detailViewController changeProductText1:[adrese objectAtIndex:indexPath.row]]; 
[self.detailViewController changeProductText2:[laimigastunda objectAtIndex:indexPath.row]]; 
[self.detailViewController changeImage:[imageChange objectAtIndex:indexPath.row]]; 



} 

} 、それはいけない仕事。

+0

詳細表示は、コードが書き込まれる方法で、nilの場合にのみプッシュされます(最初に行を選択したときなど)。その後、何も行われません。それは設計によるのですか?また、「うまくいかない」とはどういう意味なのかを詳しく説明してください(例えば、プッシュしない、詳細ビューが空、クラッシュ、コンパイラの警告など)。詳細ビューのviewDidLoadは実行されますか?ブレークポイントとNSLogを追加します。デバッガのコードをステップ実行します。 – Anna

+0

DetailViewControllerは完璧に動作しますが、DetailViewControllerからMapControllerにナビゲートして、DetailViewControllerと同じメソッドを使用してMapControllerに異なる座標をロードしようとすると問題が発生します。私はこのメソッドを試してみる前に、[self.detailViewController changeImage:[imageChange objectAtIndex:indexPath.row]];の直後に追加された[selfcodeControllerコード:[coordChange objectAtIndex:indexPath.row]]; – Edgars

+0

問題になっていないコードを投稿してください。だからDetailViewControllerはテーブルビューを持っていますか?次に、DetailViewControllerのdidSelectRowAtIndexPathメソッドで、このコードがありますか?なぜ内部にdetailViewControllerをプッシュして設定していますか?おそらく私はこの問題を理解していないでしょう。 – Anna

答えて

0

それは、あなたがあなたのdetailViewControllerにデータオブジェクトを与えていないことを示しているコードから見えますが、むしろ値を直接設定してください。

これはこれを行う方法ではないため、おそらく問題が発生している理由です。あなたはMVCの概念を把握し、それに戻っていく必要があります。

少なくとも、あなたは「、「adrese」「経度」@、@latitude @「teksti」@キーで最初のビューで 1.ビルド辞書、必要があります。 2.辞書を保持するためにDetailViewControllerでプロパティを作成します。 DetailViewController

を表示するときに、マップボタンを押したとき、あなたはその後のMapViewを含むビューを押して、使用している緯度と経度にマップを設定できるように値が表示される。

。 3.更新

それはそうするでしょう:

とDetailViewController.mで3210:

- (void)viewWillAppear:(BOOL)animated{ 
    [self changeProductText:[dict objectForKey:@"teksti"]]; 
    .... And so on 
    } 

あなたのコードは、より詳細方向をご提供するために有用であろう。

関連する問題