我刚刚开始为 iOS 创建应用程序,并且仍在尝试掌握一些基本属性。
我有一个名为 GetData 的类,它从我的 Web 服务器收集数据。
我在我的应用程序中同时使用了普通的 ViewController 和 TableViewController 但是如果我像这样指定 GetData :
@interface GetData: UITableViewController<...>
我不能将 GetData 用于我的 ViewController,反之亦然。
我该如何解决这个问题?
我刚刚开始为 iOS 创建应用程序,并且仍在尝试掌握一些基本属性。
我有一个名为 GetData 的类,它从我的 Web 服务器收集数据。
我在我的应用程序中同时使用了普通的 ViewController 和 TableViewController 但是如果我像这样指定 GetData :
@interface GetData: UITableViewController<...>
我不能将 GetData 用于我的 ViewController,反之亦然。
我该如何解决这个问题?
您不能也不应该按照您展示的方式对其进行子类化。从远程服务器获取数据不属于控制器。你应该把它移到一个单独的类中。我认为这篇文章可能会帮助您理清思路。
使用GetData作为UIViewController的子类,在里面添加一个表格视图,使用GetData作为TableViewDatasource和TableViewDelegate
但是正如 Holko 所指出的,你不应该使用同一个类来从服务器获取数据,将你的代码分成模型、视图和控制器,编写一个自定义类来执行从服务器获取数据的任务。并在您的视图控制器中使用该类。
如果您使用同一个类来执行网络任务和管理 UI,它可能会导致 UI 无响应,这是不好的 UX。