Hier versuche ich, Wert von einer Klasse LanguageSelectionTVC
zu einem anderen RegistrationVC
übergeben, indem Sie ein Protokoll verwenden.Delegate-Funktion wird nicht iOS Swift aufgerufen
Wenn ich versuche, und rufen Sie die Methode self.delegate?.setSelectedLangauges(self.languagesSpokenArray)
innerhalb LanguageSelectionTVC
es nicht nennen die Methode setSelectedLangauges
innerhalb der Klasse Registration VC
könnte jemand bitte vorschlagen, wo ich falsch gehe?
protocol LanguageSelectionTVCProtocol {
func setSelectedLangauges(_ valueSent: [String])
}
class LanguageSelectionTVC: UITableViewController {
var delegate : LanguageSelectionTVCProtocol? = nil
func saveAndClose() {
self.delegate?.setSelectedLangauges(self.languagesSpokenArray)
dismiss()
}
}
class RegistrationVC: UIViewController,
UITableViewDelegate,
UITableViewDataSource,
LanguageSelectionTVCProtocol{
func setSelectedLangauges(_ valueSent: [String]){
self.showLanguagesSpoken(valueSent)
}
}
Umzug nach LanguageSelectionTVC
von RegistrationVC
. Die unten tableView
Methode ist in meinem RegistrationVC
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let row = indexPath.row
let section = indexPath.section
let currentCell = tableView.cellForRow(at: indexPath) as! UITableViewCell
if section == 4 && row == 0 {
// The user has clicked on languages spoken cell
self.performSegue(withIdentifier: "LanguageSelectionTVC", sender: self)
}
}
Wo Sie den Delegaten Show setzen, wie Sie von 'RegistrationVC' zu' LanguageSelectionTVC' bewegen –
Sie müssen ** ** gesetzt den Delegaten irgendwo. – vadian
@NiravD hat meine Frage aktualisiert, um zu zeigen, wie ich zu 'LanguageSelectionTVC' von' RegistrationVC' gehe – user44776