2015-03-31 31 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];