這裏我試圖通過使用協議將值從一個類LanguageSelectionTVC
傳遞到另一個RegistrationVC
。委託函數未被調用iOS Swift
當我嘗試並調用該方法self.delegate?.setSelectedLangauges(self.languagesSpokenArray)
內LanguageSelectionTVC
它不會調用該方法setSelectedLangauges
類Registration VC
裏面可能有人請建議我要去的地方錯了嗎?
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)
}
}
從RegistrationVC
移至LanguageSelectionTVC
。下面tableView
方法是我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)
}
}
接收數據如果要設置委託展示如何從'RegistrationVC' –
移動到'LanguageSelectionTVC'你有** **設置委託地方。 – vadian
@NiravD更新了我的問題,以顯示我如何從'RegistrationVC'移動到'LanguageSelectionTVC' – user44776