2015-03-31 70 views
-1

當我滾動tableview時,來自textfield的數據在我的tableview單元格中重複。 Textfield重複每6行再次&。ios:文本字段在uitableview中複製數據

如何使用自定義單元格從文本字段中刪除重複的數據。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *Identifier= @"ProductCell"; 
    PlaceOrderTableViewCell * ProductCell = [ProductsTblView dequeueReusableCellWithIdentifier:Identifier]; 
    if (ProductCell==nil) 
    { 
     ProductCell = [[PlaceOrderTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Identifier]; 
    } 
} 

回答

1

這不是重複的數據,你錯誤地使用了UITableViewCell。出於性能原因,單元格在離開屏幕後重新使用,UITableViewCell只應用於顯示模型中的數據,並且在重新使用時,以前的數據將被新數據模型實體中的數據替換

您應該添加更多的信息給你的問題,你如何設置單元格的值?

編輯

如果你需要從一個UITextField值應實現UITextFieldDelegate專門textFieldDidEndEditing:你也應該看看這個answer這也解釋了一個簡單的UITableViewUITextField實施。

而且這個answer,你可能要檢查

+0

我怎樣才能得到textview在tableview中的文本 – svmrajesh 2015-03-31 19:38:17

+0

我編輯了我的答案,參見上面的內容 – 2015-03-31 19:45:15

0

當你得到相同的數據到文本框的一些有趣的教程,它意味着你得到離隊細胞,u需要改變你的模型類給文本字段數據基於單元格的索引路徑,像這樣

textfiled.text = [data objectAtIndex:indexPath.row];

注意:不要在創建單元格時分配textfield.text值,這可能是另一個原因,您將獲得相同的數據。

0

發生這種情況的原因,是因爲cells被重用,以提高您的tableView的速度。如果你想要超過1000個單元格,那麼它將不得不加載所有的單元格然後顯示它們。當它被重用時,它只加載那些必須顯示的內容。

對此的解決方法是創建一個數組,這樣做:

[textField setText:[myArray objectAtIndex:indexPath.row]]; 

但更多的靈活性和時間是創建一個NSDictionary,並保存爲相應的indexPath相應的文本耗時。像這樣:

[textField setText:[my_dict objectForKey:indexPath.row];