超类如何在objective-c中触发子类中的操作?

时间:2012-10-30 15:23:00

标签: objective-c uitableview superclass

所以我有一个标签栏控制器,其中每个标签都是一个UITableView,它从我创建的超类扩展而来。这个超类(显然)扩展了UITableViewController。

每个UITableViewController都代表一个选项卡式视图,并且有自己的模型来提取特定于每个TableView的数据,因此我需要将这些方法和变量与超类分开。

但是,我已经在我的超类中实现了“pull-to-refresh”,并且想要从pull-to-refresh中调用的update方法刷新子类所拥有的数据。

我是否基本上必须减少损失并在我的tabbar中的每个UITableViewController中单独执行pull-to-refresh,或者是否有办法获取update命令来调用每个UITableViewController中的固有方法(但实现方式不同)我的tabbar?

1 个答案:

答案 0 :(得分:1)

在您的公共超类中,创建一个方法

-(void)onRefresh {
}

什么都不做。需要在子类中触发操作时调用此方法。

在每个子类中,实现具有相同签名的方法。当超类调用

时,将调用这些方法
[self onRefresh];