Когда я нажимаю кнопку просмотра таблицы, событие щелчка не работает. Мне назначены данные для просмотра в пользовательском классе ячейки tableView и передано значение из класса viewController. Есть ли проблема с назначением данных представлениям в пользовательском классе ячейки представления таблицы

ViewController.class

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = self.ViewAllTableView.dequeueReusableCell(withIdentifier: "ViewAllTableViewCell", for: indexPath) as! ViewAllTableViewCell

    let products = self.allProducts[indexPath.row]
    cell.setData(products: products)

    cell.delegate = self

    return cell
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    performSegue(withIdentifier: "allDetail", sender: self)

}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destination = segue.destination as? ProductDetailViewController{

        let products = self.allProducts[(ViewAllTableView.indexPathForSelectedRow?.row)!]
        destination.productID = products.id

    }
}

Это класс Custom Table View Cell

Просмотр таблицы Просмотр Cell.class

class ViewAllTableViewCell: UITableViewCell {

@IBOutlet weak var ItemImage: UIImageView!
@IBOutlet weak var ItemName: UILabel!
@IBOutlet weak var ItemOfferPrice: UILabel!
@IBOutlet weak var ItemOriginalPrice: UILabel!
@IBOutlet weak var ItemWeight: UILabel!
@IBOutlet weak var ItemCountLabel: UILabel!

var delegate : ViewAllTableViewCellDelegate?
var allProduct: ViewAllProductsData!

func setData(products: ViewAllProductsData){

    self.allProduct = products

    self.ItemName.text = allProduct.name
    self.ItemWeight.text = "\(allProduct.quantity) \(allProduct.unit)"
    self.ItemOfferPrice.text = "\(allProduct.price)"
    self.ItemOriginalPrice.text = "\(allProduct.originalPrice)"
    self.ItemCountLabel.text = "\(allProduct.count)"
    let url: URL = NSURL(string: allProduct.image)! as URL
    self.ItemImage.af_setImage(withURL: url)
}

@IBAction func ViewAllMinusButton(_ sender: UIButton) {
    delegate?.minusCount(data: allProduct)
}

@IBAction func ViewAllPlusbutton(_ sender: UIButton) {

    delegate?.addCount(data: allProduct)
}

}
protocol ViewAllTableViewCellDelegate{
    func addCount(data: ViewAllProductsData)
    func minusCount(data: ViewAllProductsData)
}
2
Dhinakaran 13 Мар 2018 в 10:03

2 ответа

Лучший ответ

Это сработало для меня после изменения выбора атрибута tableView с без выбора на один выбор

1
Dhinakaran 13 Мар 2018 в 14:09

Это происходит потому, что либо вы не соответствуете должным образом UITableViewDelegate, либо у вас есть UITapGestureRecognizer где-то в вашем контроллере представления.

1
ReMeDy 13 Мар 2018 в 07:28