【问题标题】:Assigning a variable during [self.navigationController popToRootViewControllerAnimated:YES];在 [self.navigationController popToRootViewControllerAnimated:YES] 期间分配变量;
【发布时间】:2013-11-11 13:01:39
【问题描述】:

我正在寻找一种在调用 [self.navigationController popToRootViewControllerAnimated:YES]; 时分配 ivar 的方法,类似于在调用 segue 时设置值的方式:

if ([segue.identifier isEqualToString:@"login"]) {
    [sender resignFirstResponder];
    HomeController * home = (HomeController *)segue.destinationViewController;
    home.personHome = self.person;

}

我在哪里分配对象变量。当前架构使用[self.navigationController popToRootViewControllerAnimated:YES];

当应用程序加载时,HomeController 是第一个视图,但在它的视图中加载方法调用[self performSegueWithIdentifier:@"login" sender:self]; 以进入登录屏幕。登录成功弹回。

非常感谢您的建议和指导。

【问题讨论】:

标签: ios segue poptoviewcontroller


【解决方案1】:

这行得通:

HomeController *myController = (HomeController *)[self.navigationController.viewControllers objectAtIndex:0];
myController.personHome =self.person ;
[self.navigationController popToViewController:myController animated:YES];

【讨论】:

    【解决方案2】:

    这就是我让它在 Swift 2.2 中工作的方式:

    let myController = self.navigationController?.viewControllers[0] as! HomeController
    myController.personHome = self.person
    self.navigationController?.popToRootViewControllerAnimated(true)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-12
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多