我有一個UITableView與幾個單元格。每個單元格都有一個 標籤和一個UITextField。當我加載ViewController時,UITextFields有初始值,用戶可以編輯這些值。現在我想添加一個保存按鈕來保存更改,但是我編輯後在獲取UITextFields中的值時遇到問題。我認爲我需要爲文本框使用標籤,但我不知道如何。這裏是我的代碼:如何獲取UITableView中可編輯單元格的值? Swift
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:EditProfileCell = tableView.dequeueReusableCellWithIdentifier("profile") as! EditProfileCell
if (indexPath.row == 1){
cell.setRow("label", value: "initial value")
cell.itemValue.tag = indexPath.row
}
@IBAction func saveTapped(sender: UIButton) {
print(self.tableView(profileTableView, cellForRowAtIndexPath: NSIndexPath(forRow: 1, inSection: 1)).viewWithTag(1))
}
當保存按鈕被竊聽,它打印的初始值,而不是編輯後的值。編輯後我需要獲取幫助。
EDIT1:
我發現我可以在didSelectRowAtIndexPath方法功能編輯的值。但問題是當我點擊文本字段(文本字段進入編輯模式)時,didSelectRowAtIndexPath不會被調用,直到我點擊單元格內的空間但在文本字段之外。所以我的問題變成了當我只點擊文本框時如何觸發didSelectRowAtIndexPath。
對類和is-a vs has-a的理解應該對你有很大的幫助。 –
http://stackoverflow.com/questions/14562551/how-to-get-the-cell-value-of-a-selected-cell-from-table-view-in-iphone –