2014-09-20 47 views
1

我有一個表視圖,列出了聯繫人。點擊編輯單元重新加載並將標籤作爲文本輸入呈現。我需要在右上方有保存按鈕,所以當我點擊保存時,如何從Cell中獲取更新的輸入?由於行動是從外部觸發的,我需要向單元發送一些消息。從窗體類型單元格獲取數據

現在我正在使用cellForRowAtIndexPath和通過訪問單元格屬性來獲取數據。

CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"id "forIndexPath:editCellIdx]; 
NSString *input 1 = cell.labelOne.text; ... and so on 

有什麼更好的辦法嗎?

+0

獲得文本框的文本編輯,我認爲你應該修改模型立即文本editted。因此,如果用戶決定不保存數據,則需要放棄半編輯模型,基本上什麼也不做。因此,當您進入編輯模式時,請取一個模型的*副本,並在保存時用已編輯的模型覆蓋原始模型。 – trojanfoe 2014-09-20 09:20:43

+0

@trojanfoe我有一個類似的想法。而不是將模型暴露給View。我可以編寫一個接口,在編輯後將文本委託給後者,並且視圖控制器將不斷用文本更新模型。使用這樣的委託是否是一個矯枉過正的問題,或者這比使用atleast更好? – user88975 2014-09-21 09:06:42

回答

0

您可以將編輯的數據保存在NSMutableDictionary或NSMutableArray中。然後重新加載tableview數據。

您可以從下面的方法

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    NSString *cellEditedText = textField.text; 
    // save this text in dictionary or array. 
} 

- (void)saveData 
{ 
    [tableview reloadData]; 
}