我可以从同一个类继承UITableViewController和UIViewController吗?

时间:2013-10-10 14:30:54

标签: ios objective-c uiviewcontroller uitableview

我刚刚开始为iOS创建应用程序,我仍然试图掌握一些基本属性。

我有一个我称之为GetData的类,它从我的Web服务器收集数据。

我在我的应用程序中使用普通的ViewController和TableViewController,但如果我像这样指定GetData:

@interface GetData: UITableViewController<...> 

我不能将GetData用于我的ViewController,反之亦然。

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

您不能也不应该按照您展示的方式对其进行子类化。从远程服务器获取数据不属于控制器。你应该把它移到一个单独的类。我认为this article可能会帮助你清楚思考。

答案 1 :(得分:0)

使用GetData作为UIViewController的子类,在其中添加表视图,并使用GetData作为TableViewDatasource和TableViewDelegate

但正如Holko指出的那样,你不应该使用相同的类从服务器获取数据,将代码划分为模型,视图和控制器,编写一个自定义类来执行从服务器获取数据的任务。并在视图控制器中使用该类。

如果您使用相同的类来执行网络任务和管理UI,则可能会导致无法响应的用户界面,这是糟糕的用户体验。