1

登录成功后,我对 的LoginViewController遗嘱,然后它自己会自动寻找一个segue(我已经设置到 my )并将其设置为它的 leftMenu 属性。loginSegueSASlideMenuRootViewControllerviewDidLoadleftMenuMenuViewController

这一切都很好,但我看不出我应该如何将依赖项从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

0

我最终不得不子类化SASlideMenuRootViewController只是为了传递这个。

于 2018-12-19T03:11:47.610 回答