2011-02-13 68 views
0

我有一個動態創建的表,每次使用tableview單元格中的textfield。 我可以從文本框在我tableviewcell的子類,一時間這個價值閱讀:如何讀取/存儲所有文本字段的值(文本字段在uitableview的單元格中)?

- (void)textFieldDidEndEditing:(UITextField *)textField { 

NSLog(@"Text :%@ ",textField.text); 
} 

但我想存儲在所有文本框...我應該如何接近輸入的所有值?我知道我可以使用for循環,但我無法獲得條件(應該運行多長時間)for循環

回答

0

一種方法是使用它所包含的單元格的索引來標記每個文本字段

您可以爲每個單元格創建一個帶有字符串的NSMutableArray,並在textFieldDidEndEditing函數上從文本字段中提取標籤,並將新字符串放入適當的數組索引中。

確保清除文本字段並重新使用單元格時重置標記。

+0

我正在使用tableviewcell子類來動態生成我的單元格,並且我從來沒有使用帶有標籤的textField ...請詳細說明一下或引用一個例子嗎? – AKG 2011-02-13 21:13:04

1

從不在視圖中存儲數據。在這種情況下,UITableViewCell是您的觀點。當你將單元格移出屏幕時,它(有希望)會被重用,文本將會消失。

保存的數據傳回的數據模型textFieldDidEndEditing:

- (void)textFieldDidEndEditing:(UITextField *)textField { 
    //           | cell.contentView | 
    UITableViewCell *cell = (UITableViewCell *)[[textField superView] superView]; 
    NSIndexPath *indexPath = [tableView indexPathForCell:cell]; 
    MyObject *mydataObject = [self myObjectAtIndexPath:indexPath]; 
    mydataObject.text = textField.text; 
} 

有所有(我知道visibleCells)細胞的一個UITableView沒有辦法遍歷。因爲如果屏幕上只顯示單元格1到5,則項目10沒有單元格。如果你已經滾動到單元格10,單元格1不在那裏了。

+0

我正在使用UITableViewCell子類在tableview中創建我的單元格,我想我不能使用[tableView indexPathForCell:cell – AKG 2011-02-13 21:30:16

相關問題