0

我有一个基于 tabBar 和 tableViews 的 iPhone 应用程序。我希望用户能够单击一个选项卡并访问用于过滤初始 tableView 中的数据的选项。

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

目前,过滤主表的方法(-handleFilter)是在我的rootViewController类的viewWillAppear方法中调用的。如何从“searchOptions”类中调用此方法?

谢谢您的帮助!

4

2 回答 2

2

听起来您在模型和控制器之间混淆了太多(假设您遵循 MVC 设计模式)。除了主表之外的其他控制器应该能够在不询问主表控制器的情况下自行查询模型以显示计数信息。

不过,我可能会误解一些东西,有关您正在使用的数据以及如何在附加到其他选项卡栏项目的控制器中对其进行过滤的更多信息会有所帮助。

于 2009-11-05T03:05:29.303 回答
1

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

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

于 2009-11-05T03:07:57.783 回答