【问题标题】:Access to a pushed controller from navigationController从 navigationController 访问推送的控制器
【发布时间】:2015-06-19 11:37:22
【问题描述】:

我尝试将一些属性从推送的视图控制器 (Viewcontroller B) 设置到导航控制器 (Viewcontroller A) 堆栈中的前一个视图。

但是,我尝试设置属性的对象(标题)在我设置其属性的那一刻为 nil。 (用断点检查)

ViewControllerB.m

 breapoint 1 -> ViewControllerA * missionVC = (ViewControllerA *) self.navigationController.viewControllers[n-2];



breakpoint 2 ->missionVC.header.title = companyName;
missionVC.header.subTitle = missionName;

[self.navigationController popViewControllerAnimated:YES];

在断点 1,missionVC 已正确初始化标头对象,但在断点 2,missionVC.header 为 nil,我不知道为什么。

【问题讨论】:

  • 您正在创建前一个视图控制器的新对象。您应该将 Viewcontroller A 的引用传递给 B,然后设置 viewcontroller A 的值。您可以使用委托来传递对象。
  • 我以为我恢复了以前的而不是创建新的,谢谢
  • 那分钟是多少?您已经将视图控制器 A 的引用传递给 B。
  • 是的,现在我将 A 的引用传递给 B,在 B 中设置引用的属性,然后重新启动 A
  • 尝试在重新启动 A 后设置属性。即弹出后。

标签: ios objective-c viewcontroller navigationcontroller


【解决方案1】:

您正在创建前一个视图控制器的新对象。您应该将 Viewcontroller A 的引用传递给 B,然后设置 viewcontroller A 的值。您可以使用委托来传递对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多