0

[ホーム] タブから [アカウント] に、タブ間で情報を渡すためのコード ブロックがあります。ただし、宛先タブでは、オブジェクトは null です。personAccとオブジェクトですpersonHomePerson

AccountController *myVc = (AccountController*) [[(UINavigationController*)[[self.tabBarController viewControllers] objectAtIndex:1] viewControllers] objectAtIndex:0];
myVc.personAcc = self.personHome;
NSLog(@"mvc %@",myVc.personAcc.firstName);

これがタブ間で情報を渡す正しい方法だと確信しています。最初の名前は正常にログに記録されますが、ログインするAccountControllerと null になります。

self.personAcc = [[Person alloc]init];
NSLog(@"mvc %@",self.personAcc.firstName);

エラーが存在する可能性のあるアイデアはありますか?

私はまだiOSで足を踏み入れているので、見落としているかもしれないばかげた間違いを許してください.

4

1 に答える 1

1

以前の投稿を編集します。以下のコードを試してください。TabBarController のデリゲートが設定されていることを確認してください。

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    if ([viewController isKindOfClass:[UINavigationController Class]]) {
        UINavigationController *nav = (UINavigationController *)viewController;
        AccountController *myVc = nav.viewControllers[0];
        myVc.personAcc = self.personHome;
    }
}
于 2013-11-12T14:45:36.210 に答える