iPhone Sdk:UITableViewCells随机复制自己

时间:2010-07-19 17:36:18

标签: iphone objective-c uitableview

我一直试图解决这个问题,但我不能...... 出于某种原因,每次我的UITableView由于行和部分的数量而达到一定的长度时,单元格似乎随机地将自己复制到表格末尾的不同单元格中而不需要我或者编程...其他任何人都有这个问题或者知道它是如何解决的?任何帮助表示赞赏!坦克。 编辑: “row”属性是一个计数器,最多计数到13,然后重置为0并再次计数,我总是希望字符串“newUpdate”显示在相应的行中但同时我不想要其余的单元格为空白我希望他们保留旧内容,直到它们被覆盖,因为计数器再次从0开始。

#import "ServerUpdateViewController.h"


@implementation ServerUpdateViewController

@synthesize newUpdate;
@synthesize row;




- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}


// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section     {
return 15;
}

- (NSString *)tableView: (UITableView *)table titleForHeaderInSection:(NSInteger) section {
return @"All Updates to Server";

}

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView    cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}


    if (indexPath.row == self.row) {
        cell.textLabel.text = self.newUpdate;
    }


// Set up the cell...

return cell;
}




- (void)dealloc {
[super dealloc];
}

@end

2 个答案:

答案 0 :(得分:0)

有一些事情可以导致这种情况,如果没有看到代码,我就无法具体,但它归结为细胞被重用的事实。每次调用cellForRowAtIndexPath时,都必须重新设置/重绘单元格的全部内容。

答案 1 :(得分:0)

你正在重复使用细胞。在cellForRowAtIndexPath:方法中,您需要在每次调用时完全配置单元格。