2016-12-28 66 views
-1

這是我第一次做一個具有'generic'-ish設計的應用程序,其中的textFields和按鈕爲,位於tableView單元格內。我有一個很難的時間在我的動態tableView單元格中獲取texFields的值。從TableView中的TableViewCells獲取引用iOS

這裏是我的代碼:

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的底部,它崩潰的應用程序,你嘗試調用這個提交()功能。任何想法如何正確獲取這些動態單元格內的textField的值?

編輯: 崩潰指向nameCell

致命錯誤:意外發現零而展開的可選值

enter image description here

+0

什麼消息時崩潰? – toddg

+0

另外,哪條線會崩潰? – Samantha

+0

看到編輯,大家好。 – Glenn

回答

1

嘗試做一個 「如果讓」 中爲了得到這個可選值並避免零值的崩潰

例子:

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

而對於讓我喜歡的標籤分配給每個文本字段,然後通過這種方式獲得的價值在細胞內的TextField的值:

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!" 
} 
+1

標籤是呼湖的唯一途徑。謝謝! – Glenn

相關問題