私はまだこの転送を以下の構造で把握していません。私は多くの投稿を読み、他の人による同じ未回答の投稿を見ましたが、解決策はありません.
すべての人にとって簡単にするために、質問を単純化しようとします。
プロジェクトの構造は次のとおりです。tab1 と tab2 を含む UITabbar
Tab1 には Nav コントローラーがあります --> ViewController1
Tab2 には Nav コントローラーがあります -->ViewController2
viewcontroller1 (tab1) にはオブジェクト X があります。
ViewCONtroller2 (tab2) でオブジェクト X を表示したい。
表示について心配する必要はありません。それは簡単な部分です。
質問: どのようにオブジェクト X を tab1 から tab2 に渡しますか? (一般的なパターンは何ですか)。
prepareForSegue を使用して実行したい場合は、これで問題ありませんか、それとももっと良い方法がありますか。
prepareForSegue を使用している場合、セグエをどこにドラッグしますか?
タブバーコントローラー
または***** 2. 2 番目の VC へ
うまくいけば、これは十分に明確です。これを念頭に置いて、転送をどのように実行しますか?
セグエ1の使用:
私はこれをやってみました:
//(From View controller 1)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"CreateObjectXToDisplayObjectX"])
ViewController2* vc2 = [[ViewController2 alloc] init];
UITabBarController* tbc = [segue destinationViewController];
vc2 = (ViewController2 *)[[tbc customizableViewControllers] objectAtIndex:1];
//Crash here with with [MainNavigationControllerDesign setViewController1Delegate:]: unrecognized selector sent to instance 0x1064ef70'
vc2.viewController1Delegate=self;
vc2.objectXAtViewController2 = _objectXFromViewController1;
}
}
では、この Object X の転送はどのように行われるのでしょうか? 前もって感謝します