从TableView iOS中的TableViewCells获取参考

这是我第一次做一个具有'generic'-ishdevise的应用程序,其中的textFields和button是在tableView单元格内 。 我很难得到我的dynamictableView单元格中的texFields的值。

这是我的代码:

func submit() { // cells let nameCell = self.tableView.cellForRow(at: IndexPath(row: 0, section: 1)) as! ProductDetailTableViewCell let shortDescriptionCell = self.tableView.cellForRow(at: IndexPath(row: 1, section: 1)) as! ProductDetailTableViewCell // data let name = nameCell.textField_Detail.text! ... ... } 

它工作,但是,当你滚动到tableView的底部,你试图调用这个submit()函数,它崩溃的应用程序。 任何想法如何正确获得这些dynamic单元格内的textFields的值?

编辑:崩溃指向nameCell

致命错误:意外地发现零,而解包一个可选值

在这里输入图像说明

尝试做一个“如果让”为了得到这个可选的值,并避免与零值的崩溃

例:

 if let myNameCell = self.tableView.cellForRow(at: IndexPath(row: 0, section: 1)) as! ProductDetailTableViewCell{ // Here you must use 'myNameCell' } 

为了获得单元格内的TextField的值,我喜欢给每个TextField分配一个Tag,然后通过这种方式得到值:

 if let myNameCell = self.tableView.cellForRow(at: IndexPath(row: 0, section: 1)) as! ProductDetailTableViewCell{ (myNameCell.contentView.viewWithTag(3) as! UILabel).text = "bla bla bla" (myNameCell.contentView.viewWithTag(3) as! UITextField).text = "Some text!" }