-2

tabBarを介して2つのViewController間でデータを渡そうとしています。

VC1 = search controller. 

文字列を使用して検索し、結果の配列を取得します。
タブ1
にあります。ナビゲーションコントローラーがあり、VC1がルートです。

VC2 = Results controller.

VC1の結果を表示します。
タブ2
にあります。ルートとしてナビゲーションコントローラーとVC2があります。

(各タブにはこのアーキテクチャがあり、Nav Controller =次にVCをルートとして使用します)。

私は以前、セグエの準備でプロトコルとデリゲートを使用していました(すばらしいですが、タブは使用していません)。

これで、VC1のボタン(結果をVC2にロードするため)からタブバーへのセグエができました。

prepareForSegueを使用して情報を渡そうとしていますが、このメソッドに以下のコードを追加しています

(正しいセグエを特定した後)。

ただし、アプリがクラッシュし、これが正しく行われているかどうかわかりません。

ResultsIndexViewController* vc = [[ResultsIndexViewController alloc] init];
UITabBarController* tbc = [segue destinationViewController];
vc = (ResultsIndexViewController *)[[tbc customizableViewControllers] objectAtIndex:1];
vc.SearchDelegate=self;//crash here (normally works if using regular segue)
vc.resultsArray = _temporaryResultsArray;
vc.originalQuery=_queryArray;
4

1 に答える 1

0

私はこのコードを使用しないことになりました。代わりに、タブバーによって作成されたデリゲートを使用して情報を取得しました。別の質問に手順を投稿します。以下にリンクします

于 2013-01-19T17:55:36.390 に答える