1

へのログインが成功するLoginViewControllerloginSegueSASlideMenuRootViewControllerそれ自体viewDidLoadが自動的にleftMenuセグエ (自分の に設定したものMenuViewController) を探し、これを leftMenu プロパティとして設定します。

LoginViewControllerこれはすべてうまく機能しますが、依存関係を からに渡す方法がわかりませんMenuViewController

これを行う通常の方法として次のことを試しましたが、明らかにleftMenuプロパティがまだ構成されviewDidLoadておらず、この後まで実行されないため失敗します。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"loginSegue"])
    {
        // This works
        SASlideMenuRootViewController *slideViewController = (SASlideMenuRootViewController *)segue.destinationViewController;

        // menuViewController is nil :(
        MenuViewController *menuViewController = (MenuViewController *)slideViewController.leftMenu;

        // I want to pass this along
        menuViewController.account = self.account;
    }
}

SASlideMenuRootViewControllerこの値を渡すためだけにサブクラス化する必要がありますか? 乱雑に見えます。

https://github.com/stefanoa/SASlideMenu

4

1 に答える 1