【问题标题】:Calling NSXMLParser based on navigation direction根据导航方向调用 NSXMLParser
【发布时间】:2010-10-22 21:40:11
【问题描述】:

我有一个基于导航的应用程序,其中包含三个视图控制器。第一个包含信息类别,第二个包含该类别中的项目列表,第三个包含特定项目的详细信息。

我使用在 viewWillAppear 上调用的 NSXMLParser 填充视图控制器 1 和 2。在正向(VC1 到 VC2 到 VC3)方向上,一切都很好,解析器被调用并且视图被填充。

不幸的是,当用户选择导航栏上的后退按钮时,相同的过程会以相反的方式发生(VC3 到 VC2 到 VC1),因为再次调用 viewWillAppear,因此也调用了解析器,即使它只是获取相同的数据.

我想确保解析器只在正向调用。任何想法我可以如何构建它?

谢谢,菲尔

【问题讨论】:

    标签: iphone nsxmlparser


    【解决方案1】:

    您能否做一些简单的事情,例如在 VC2 上设置一个名为 goForward 的 BOOL ivar,在 -pushViewController:animated: 之前由 VC1 设置为 YES:调用并在 -popViewControllerAnimated: 之前由 VC3 设置为 NO ... 然后检查在 VC2 的 -viewWillAppear 中前进?

    我确信有更优雅的方法可以做到这一点(并期待阅读它们)——但这应该可行,你不觉得吗?

    【讨论】:

    • 优雅与否,这听起来对我来说是一个很好的解决方案。我认为一对 ivars 会做到这一点。我可以使用 viewWillAppear 检查 ivar 并决定是否运行解析器并使用 viewWillDisappear 相应地设置 ivar。谢谢。
    猜你喜欢
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 2022-06-14
    • 1970-01-01
    • 2011-07-29
    • 2019-02-10
    • 1970-01-01
    相关资源
    最近更新 更多