How a pasar en los parámetros en función de @objc

Tengo una celda en una vista de tabla, con un botón al que quiero agregar una acción.

El botón será una dirección de correo electrónico. Cuando se presiona el botón, quiero activar un delegado que tendrá otro ViewController para abrir un correo electrónico. Sin embargo, necesito poder pasar el correo electrónico como parámetro y Swift no parece permitirme hacerlo.

El código relevante está debajo:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let row = self.sections[indexPath.section].rows[indexPath.row]
       switch row {
       case .Email:
            cell.infoLabel.setTitle(cellInfo.email, for: .normal)
            cell.infoLabel.addTarget(self, action: #selector(emailPressed(recipient: cellInfo.email!)), for: .touchUpInside)
            cell.imageType.image = UIImage(named: "Email")
       }
}

@objc func emailPressed(recipient: String){
        self.delegate?.dataController(self, recipientEmail: recipient)
    }

protocol DataControllerDelegate: class {
    funcdataController(_ DataController: DataController, recipientEmail: String)
}

Recibo el error: "El argumento de '#selector' no se refiere a un método, propiedad o inicializador '@objc'"

¿Hay alguna forma de pasar el correo electrónico a la función @objc para que pueda alimentar la función de delegado?

Respuestas a la pregunta(2)

Su respuesta a la pregunta