代表不工作?

问题描述:

这里是我的协议定义。代表不工作?

protocol ActivityIndicatorDelegate: class { 
    func showIndicator() 
    func hideIndicator() 
    func barcodeError() 
    func categoryError() 
    func descError() 
    func reasonError() 
    func costError() 
} 

然后在我的自定义单元格类创建弱引用和我打电话委托功能

class ProductTableViewCell: UITableViewCell { 
    weak var indicatorDelegate: ActivityIndicatorDelegate? 
    @IBAction func stockUpdate(_ sender: Any) { 
     indicatorDelegate?.categoryError() 
    } 
} 

然后在我的UITableViewController类

我已经写了这一切在一个单一的文件。我在这里做错了什么?有人能帮我解决这个问题吗?提前致谢。

+0

你的电池的代表设置为你的'ProductTableViewController'实例? – ozgur

+0

是的我viewdidload()我做到了。检查我更新的问题。 –

您不应在viewDidLoad中设置代理人。这只会设置您刚刚创建的单元格的代表,而不是表格视图中的所有单元格。

你应该在celForRowAtIndexPath做到这一点:

let cell = tableView.dequeue... 
// configure the cell... 
cell.indicatorDelegate = self 
+0

谢谢扫地机。 –