UITableview Scroll将擦除UITableviewcell中的文本字段中的数据

我有一个UITableViewController与UITextfield内的tableview单元格。 如果我滚动表格视图,用户input的文本字段中的数据消失。 我试图将文本字段数据添加到NSMutableArray,但它仍然无法正常工作。 请任何帮助。

当调用cellForRowAtIndexPath: ,返回的单元格必须完全填充任何要显示的数据。 因此,如果单元格包含UITextfield,则需要将其text属性设置为数据中该行的正确值。

当一个表格单元从屏幕的顶部或底部消失时,UITableViewCell本身就可以重新使用。 (滚动时,单元格消失,出现新的单元格,但UITableView类重新使用UITableViewCell对象。)在cellForRowAtIndexPath:当您获取要使用的caching单元格时,必须确保将所需的一切设置为显示有问题的行,否则你可能会在你的表中看到一些奇怪的行为。

这有帮助吗?

编辑:

以下是cellForRowAtIndexPath:使用的典型模式示例cellForRowAtIndexPath: 注意使用dequeueReusableCellWithIdentifier: 该方法返回一个以前分配但没有使用的UITableViewCell,如果有的话。 进一步注意,如果没有caching的单元格被返回,那么代码将创build一个新的单元格,并设置它(与独立于任何可能是行特定的东西)。 之后,你可以根据需要设置单元格。

 - (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
    静态NSString * SearchResultsCellIdentifier = @“SearchResultsCellIdentifer”;

     UITableViewCell * cell = [tableView 
                 dequeueReusableCellWithIdentifier:SearchResultsCellIdentifier];
    如果(cell == nil)
     {
         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                        reuseIdentifier:SearchResultsCellIdentifier] autorelease];
         cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
     }

     //这里你的单元格的特定行设置
     // ...

    返回小区;
 }

检查文档有关这些方法的细节。 苹果和其他地方有很多关于如何实现tableViews的例子。