Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何创建具有UITableView的基本ViewController类?_Ios_Objective C_Iphone_Uitableview_Uiviewcontroller - Fatal编程技术网

Ios 如何创建具有UITableView的基本ViewController类?

Ios 如何创建具有UITableView的基本ViewController类?,ios,objective-c,iphone,uitableview,uiviewcontroller,Ios,Objective C,Iphone,Uitableview,Uiviewcontroller,我有几个视图控制器,都使用UITableView,具有相同的自定义单元格。UITableView数据源方法也相同(与行相同);所有更改都是数据源本身(从中加载表视图的数组)。对于我来说,为5个这样的视图控制器复制完全相同的代码似乎是多余的(更不用说这是一个糟糕的编码实践!) 因此,我考虑创建一个扩展UIViewController的基本(或父)视图控制器,并使我下面的所有(子)控制器继承自该基本视图控制器 我的问题是:我的基本视图控制器需要具有UITableView属性,并且它还包含DataSo

我有几个视图控制器,都使用UITableView,具有相同的自定义单元格。UITableView数据源方法也相同(与行相同);所有更改都是数据源本身(从中加载表视图的数组)。对于我来说,为5个这样的视图控制器复制完全相同的代码似乎是多余的(更不用说这是一个糟糕的编码实践!)

因此,我考虑创建一个扩展UIViewController的基本(或父)视图控制器,并使我下面的所有(子)控制器继承自该基本视图控制器

我的问题是:我的基本视图控制器需要具有UITableView属性,并且它还包含DataSource方法。我无法使子视图控制器中的UITableView引用其数据源的父类


我是不是走错了路?有没有更好的办法解决这个问题?非常感谢您的帮助

只有一个控制器,您可以在其中添加数据源的属性

当您切换到控制器或创建控制器时,请设置数据源属性

如果除数据源数组外,所有代码都相同,则只需要一个控制器

在xcode中添加一个新的源文件:例如,
MyDataViewerController
,它继承了
UITableViewController

创建时,在该文件中添加表单的属性:

@property NSArray *dataSource;
在序列图像板中单击一个视图控制器,然后单击“类属性检查器”选项卡。将类设置为MyDataViewerController

现在,您可以使用此控制器显示任何数据。您可能可以删除所有其他文件

我假设它是一个包含数据的数组。用你所用的任何东西替换这个

假设您从某处转到该控制器,请在


prepareForSegue
功能

谢谢大家!!我不能相信我忽视了这一点;我以前做过很多次。我使用第三方库来转换到这些视图,而不是通常的segue,这可能就是我忽略它的原因。再次感谢!