 
 public class MYTableViewCell : UITableViewCell, MYBaseViewProtocol {
     class var identifier: String { return String.className(self) }
+    var cellSelectionEnabled = true
     private weak var delegate: MYBaseViewDelegate?
     weak var cellData: MYTableViewCellData?
     

    public func configureCell(data: MYTableViewCellData) {
        cellData = data
        delegate = data
        unhighlight(false)
    }
   

public extension MYTableViewCell {
    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        super.touchesBegan(touches, withEvent: event)
        if cellSelectionEnabled {
            highlight(false)
        }
    }
    
    override func touchesCancelled(touches: NSSet!, withEvent event: UIEvent!) {
        super.touchesCancelled(touches, withEvent: event)
        if cellSelectionEnabled {
            unhighlight(false)
        }
    }
    
    override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
        super.touchesEnded(touches, withEvent: event)
        if cellSelectionEnabled {
            emitSelectedEvent(self)
        }
    }
}