我已经创建了在tableview中插入12行的示例应用程序。并且插入正常。当插入我的行后我不想在tableview的滚动期间对文本进行任何更改。所以我检查了indexpath行具有UITableViewCell的值,如果它有values表示返回该单元格,否则我们创建了新的UITableViewCell。
我的示例代码位于
之下- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"GlobalCount = %d",GlobalCount);
return GlobalCount;
}
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *obj = (UITableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
if(obj!=nil)
{
NSLog(@"cell indexpath row = %d",indexPath.row);
NSLog(@"cell text = %d",obj.textLabel.text);
return obj;
}
else {
NSLog(@"obj==nil");
}
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
if([DataTable count]>0)
cell.textLabel.text = [DataTable objectAtIndex:0];
// Configure the cell.
return cell;
}
我的目标是什么,我不想为已经创建的索引路径行(单元格)更新任何文本(或UITableViewCell)。所以我可以在cellForRowAtIndexPath中检查这个,但它总是返回nil。如果我遗漏了什么?
我使用此行检查了
UITableViewCell *obj = (UITableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
if(obj!=nil)
Plz帮帮我?
提前致谢......
答案 0 :(得分:4)
让表视图决定是否需要更新单元格。只需删除代码中的所有第一部分,一切都将顺利进行。
不要犹豫,阅读UITableView文档。