从 VC 委派给 TableViewCell 以更新单元格
delegate from VC to TableViewCell to update cell
我正在尝试使用委托从我的 VC 更新我的所有单元格。
它可以从单元格更新 VC 上的内容,但是当我尝试从 VC 更新内容以对单元格进行更改时,它不起作用。
在我的 VC 我添加了:
protocol MainViewDelegate {
func updateValueInCell()
}
var delegate: MainViewDelegate?
@IBAction func modifyValueAtVC(_ sender: Any) {
func updateValueInCell()
}
在我的牢房里
var mainView = ViewController()
extension CustomTableViewCell : MainViewDelegate {
func updateValueInCell() {
print("hello")
}
override func awakeFromNib() {
super.awakeFromNib()
mainView.delegate = self
}
但是当我从我的视图控制器按下我的按钮时没有任何反应。
这是从 VC 更新单元格的正确方法吗?或者你们还有其他想法吗?
谢谢! :)
vc更新单元格只需要reloadData,如果你想单元格触发viewcontroller,使用委托。
class MainView:UIViewController,CustomTableViewCellDelegate{
@IBOutlet weak var table: UITableView!//table.delegate = self
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! DailyScheduleTableViewCell
cell.delegate = self
//update what you want
return cell
}
func onClick(cell: CustomTableViewCell) {
//cell click trigger
}
@IBAction func modifyValueAtVC(_ sender: Any) {
table.reloadData()
}
}
protocol CustomTableViewCellDelegate{
func onClick(cell:CustomTableViewCell)
}
class CustomTableViewCell:UITableViewCell{
var delegate:CustomTableViewCellDelegate!
@IBAction func onClick(_ sender: Any) {
del?.onClick(cell: self)
}
}
我正在尝试使用委托从我的 VC 更新我的所有单元格。
它可以从单元格更新 VC 上的内容,但是当我尝试从 VC 更新内容以对单元格进行更改时,它不起作用。
在我的 VC 我添加了:
protocol MainViewDelegate {
func updateValueInCell()
}
var delegate: MainViewDelegate?
@IBAction func modifyValueAtVC(_ sender: Any) {
func updateValueInCell()
}
在我的牢房里
var mainView = ViewController()
extension CustomTableViewCell : MainViewDelegate {
func updateValueInCell() {
print("hello")
}
override func awakeFromNib() {
super.awakeFromNib()
mainView.delegate = self
}
但是当我从我的视图控制器按下我的按钮时没有任何反应。
这是从 VC 更新单元格的正确方法吗?或者你们还有其他想法吗?
谢谢! :)
vc更新单元格只需要reloadData,如果你想单元格触发viewcontroller,使用委托。
class MainView:UIViewController,CustomTableViewCellDelegate{
@IBOutlet weak var table: UITableView!//table.delegate = self
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! DailyScheduleTableViewCell
cell.delegate = self
//update what you want
return cell
}
func onClick(cell: CustomTableViewCell) {
//cell click trigger
}
@IBAction func modifyValueAtVC(_ sender: Any) {
table.reloadData()
}
}
protocol CustomTableViewCellDelegate{
func onClick(cell:CustomTableViewCell)
}
class CustomTableViewCell:UITableViewCell{
var delegate:CustomTableViewCellDelegate!
@IBAction func onClick(_ sender: Any) {
del?.onClick(cell: self)
}
}