代码之家  ›  专栏  ›  技术社区  ›  Jonah

当用户在另一个类的视图中时,如何在类中调用方法?

  •  0
  • Jonah  · 技术社区  · 15 年前

    我有一个基于选项卡和表格视图的iPhone应用程序。我希望用户能够单击一个选项卡并访问用于筛选初始表视图中数据的选项。

    我遇到的问题是,当用户选择筛选条件时,我希望更新主表(不可见)。这一点很重要的原因是,我想显示在导航栏中筛选时表中还有多少单元格。

    目前,筛选主表的方法(-handlefilter)是在我的rootviewController类的viewWillAppear方法中调用的。如何从“SearchOptions”类调用此方法?

    谢谢你的帮助!

    2 回复  |  直到 15 年前
        1
  •  2
  •   refulgentis    15 年前

    听起来你把你的模型和控制器混淆得太多了(假设你遵循的是MVC设计模式)。除了主表之外的其他控制器应该能够查询模型本身以显示计数信息,而不需要询问主表控制器。

    不过,我可能误解了一些事情,关于您使用的数据以及如何在连接到其他选项卡项的控制器中过滤这些数据的更多信息会有所帮助。

        2
  •  1
  •   Sixten Otto    15 年前

    最简单的方法是给选项控制器一个指向列表控制器的指针。然后您可以直接调用该方法。

    其他选项包括在一些全局对象(如应用程序委托)上定义方法/属性以从应用程序的其他位置访问列表控制器,以及使用更分散的机制,如 NSNotificationCenter 传递这些信息(而不是方法调用),或者依赖模型本身在模型更改时通知所有访问它的控制器(可能使用键值观察或显式委托协议)。