Я сделал пользовательский TableCell и добавил Tableview
в UIViewController
. Я хотел отправить данные с одного вида, который является UITableViewController
, на UIViewController
, в котором я применил tableView
. Я получаю эту ошибку:Ошибка При отправке данных
ответ
В вашей Storyboard
ваш Segue подключен между UITableViewCell
и ViewController
из-за того, что вы получаете в качестве отправителя UITableViewCell
. Чтобы решить эту проблему, просто удалите этот файл Segue
и создайте его со своего источника ViewController
по назначению ViewController
и установите тот же идентификатор сегмента, после чего все будет работать так, как вы хотите.
Я отправляю данные из UITableViewController в UIViewController Named BookingHistoryViewController. BookingHistoryViewController - это класс для UIView, в котором я добавил Table View, чтобы сделать CustomCells, и к этому CustomCell, который я использовал в программе CheckHistoryTableViewCell, вы можете видеть, что в методе prepareForSegue – Ronit
@Ronit То, что я говорю, это то, что в раскадровке ваш segue подключен вместо TableCell и ViewController вместо этого вам нужно создать между двумя ViewControllers. –
спасибо за вашу помощь – Ronit
Вопрос еще не ясен. Хотя я даю вам идею. Вы должны использовать закрытие, делегировать или уведомлять шаблон.
Предполагаю, что я отправляю сообщение от view1 to view2
. используйте простой процесс для отправки данных. Но если вы отправляете из view2
в view1 ->В замыкании, view2
: -> определить замыкание как
var sendDataToBackController: ((String)->())?
@IBAction func DataSendFrom2ndVCTo1stVC(_ sender: AnyObject) {
if let handler = sendDataToBackController{
handler("Message From ViewController3 to ViewController2")
}
_ = self.navigationController?.popViewController(animated: true)
}
}
и в view1
: ->
if let vc = self.storyboard?.instantiateViewController(withIdentifier: "ViewController2") as? ViewController2{
vc.dataFrom1StVC = "message send from 1st VC"
vc.sendDataToBackController = {
message in
print(message)
}
self.navigationController?.pushViewController(vc, animated: true)
}
}
Пожалуйста, позвоните Затвор по в скором времени над процессом, т.е. передача данных обратно в view1 из view2 и определение закрытия, когда вы создали экземпляр view2, как только это было выше. Я даю только идею. Если вы хотите получить подробный код, пожалуйста, сообщите подробно о своем вопросе. Надеюсь, это поможет вам.
Большое спасибо за вашу помощь. Можете ли вы рассказать мне, как добавить код, потому что stackOverFlow does'nt слишком много символов. – Ronit
Вы можете добавить код, как вам понравилось в stackOverFlow. Если вы хотите пометить код, как я написал выше, сначала напишите код в поле ответа так, как вы писали, затем выберите код, который вы хотите пометить, и нажмите клавишу (Ctrl + K). Если мой ответ поможет вам, пожалуйста, проверьте мой ответ и верх. Если меня путают, спросите меня. спасибо –
Опишите надлежащим образом. Я смущен тем, что вы говорите, и приложил другой код. –
, как показано на рисунке выше, я получаю конкретную ошибку при отправке данных из одного представления в другой вид. Данные, которые я хочу отправить, относятся к типу данных NSArray. – Ronit