Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.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 在多个视图控制器中使用相同的表视图单元_Ios_Swift_Xcode_Swift5 - Fatal编程技术网

Ios 在多个视图控制器中使用相同的表视图单元

Ios 在多个视图控制器中使用相同的表视图单元,ios,swift,xcode,swift5,Ios,Swift,Xcode,Swift5,我有一个自定义的表视图单元类,我在几个视图控制器的表视图中使用它。我添加了一个功能,让用户能够删除一个表视图单元格,我想在他们这样做时从表视图中删除该单元格 使用委托是实现这一点的一种方法,因此当用户删除表视图单元格时,表视图单元格类通过委托通知视图控制器该单元格已被删除,并将其从表视图中删除。然而,这意味着我必须对我的几个视图控制器中的每一个都这样做,这是我不想做的 因此,我的问题是,如何实现这一点,使我只需编写代码就可以从表视图中删除表视图单元格一次?将UITableView子类化。创建一个

我有一个自定义的表视图单元类,我在几个视图控制器的表视图中使用它。我添加了一个功能,让用户能够删除一个表视图单元格,我想在他们这样做时从表视图中删除该单元格

使用委托是实现这一点的一种方法,因此当用户删除表视图单元格时,表视图单元格类通过委托通知视图控制器该单元格已被删除,并将其从表视图中删除。然而,这意味着我必须对我的几个视图控制器中的每一个都这样做,这是我不想做的


因此,我的问题是,如何实现这一点,使我只需编写代码就可以从表视图中删除表视图单元格一次?

将UITableView子类化。创建一个协议,如:

protocol customTableViewDelegate {
  func deleteTableViewCell()
}
然后为子类UITableView提供一个此类变量:

var removeCellDelegate: customTableViewDelegate?

然后,添加自定义UITableView并将removeCellDelegate设置为视图控制器,而不是将普通UITableView添加到视图控制器。然后实现该函数以执行任何您想要的操作。

将UITableView子类化。创建一个协议,如:

protocol customTableViewDelegate {
  func deleteTableViewCell()
}
然后为子类UITableView提供一个此类变量:

var removeCellDelegate: customTableViewDelegate?

然后,添加自定义UITableView并将removeCellDelegate设置为视图控制器,而不是将普通UITableView添加到视图控制器。然后实现该函数以执行任何您想要的操作。

编写baseTableView类。。。从该类继承您的tableview。。。在classTableview中,单元格是基于数据源数组显示的,因此您必须通知视图控制器有Datasource从表视图中删除数据和单元格,没有其他方法可以自动执行此操作。通过通知使用此单元格的每个viewcontroller并不是错误的方式,所以chill:)创建一个全局数组作为TableView的数据源,当删除单元格时,更新该数组并重新加载TableView。编写baseTableView类。。。从该类继承您的tableview。。。在classTableview中,单元格是基于数据源数组显示的,因此您必须通知视图控制器有Datasource从表视图中删除数据和单元格,没有其他方法可以自动执行此操作。通过通知使用此单元格的每个viewcontroller并不是错误的方式,所以chill:)创建一个全局数组作为TableView的数据源,当删除单元格时,更新该数组并重新加载TableView。