【问题标题】:popToRootViewControllerAnimated from NSobject class giving errors来自 NSobject 类的 popToRootViewControllerAnimated 给出错误
【发布时间】:2013-08-12 01:53:39
【问题描述】:

如果出现错误,我会尝试从导航堆栈中弹出所有视图。错误代码在 NSObject 类中,所以我无权访问导航控制器。这是我尝试过的代码

[self.navigationController popToRootViewControllerAnimated:FALSE];

我想知道从 NSobject 类的堆栈中访问和弹出视图的最佳方法。

任何帮助将不胜感激。

【问题讨论】:

  • 你尝试过 Unwind segue 吗?
  • 不,我没有,我什至从未听说过这个.. 大声笑,您可能需要知道的一件事是,当发生此错误并需要解决时,我可能处于几种不同的观点之一回到那个时候的根视图控制器。
  • 不确定这是否可行,但可能会从 NSObject 发送一个 NSNotification 到可以访问 navigationController 的类。
  • 但是为什么要从 NSObject 类中调用它呢?
  • 因为它是一个错误类,它向用户呈现 UIAlertView。我不想在每个视图控制器中写入同样多的错误来处理错误..这样更干净。

标签: ios objective-c uinavigationcontroller


【解决方案1】:

所以,你确实想要 Unwind segue。简单的工具,非常有用且易于实现。无论您在层次结构中有多深,此 segue 都会成功地将您带回 ViewController。

我认为了解如何实现此功能的最佳方式描述为 in this answerin this answer(我更喜欢)。

这应该适合你。

【讨论】:

  • 好的,非常感谢......我会在更新 xcode 后尝试这样做,因为我看不到那个退出按钮。
  • 我不确定这是否可行,因为我没有使用故事板?
  • @HurkNburkS 呸!骗子!我应该检查一下...您可以做的是在最新的 VC 中使用 popToRootViewControllerAnimated 方法创建一个自定义方法,然后使用 this answer 从另一个类中调用它。
  • 对不起,我应该解释得更好:P 伙计不确定这是否会像我计划的那样工作......
  • 也许,你有没有在评论中尝试我的建议?
猜你喜欢
  • 2013-04-09
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 2013-08-14
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多