Cannot tap button from UITableViewCell when returning to foreground swift 3

Out of all the errors I have experienced this is by far the strangest. here inside my custom UITableViewCell class I have this method :

@IBOutlet weak var searchButton: UIButton!
@IBOutlet weak var backButton: UIButton!

@IBOutlet weak var title: UILabel!

var onMorePressed : (() -> Void)? = nil
var onBackPressed : (() -> Void)? = nil
var onSearchPressed : (() -> Void)? = nil
@IBAction func searchButtonPressed(_ sender: Any) {
    if searchButton.imageView?.image == UIImage(named : "searchwhite"){

        if let tapped = onSearchPressed{
            tapped()
        }

    }else{
        if let tapped = onMorePressed{
            tapped()
        }
    }
}

The search is handled in cellForRowAt here:

 cell.backgroundColor = .clear
            cell.selectionStyle = .none
            cell.searchButton.isUserInteractionEnabled = true
            cell.searchButton.isHidden = false
            cell.onSearchPressed = {
                self.showSearchScreen()
            }

The button works as expected until you close ( not terminate ) the app. when returning to foreground the button is rendered useless. Why is this? This is so weird, I have tried reloading the tableView when entering the foreground, this did not work.