Iphone uitableview重新加载问题
我有一个tableviewcontroller,在它里面我尝试加载表的数据。我有一个数组,并使用该数组创建自定义表单元格。它第一次工作正常,但当我想刷新表数据时(在更新数组后,我调用tableview的reloadData方法),但在滚动后会出现更新的数据。而且,新的数组大小比它在向底部滚动时抛出的第一个数组要短 重新加载数据无法正常工作Iphone uitableview重新加载问题,iphone,scroll,reload,tableview,Iphone,Scroll,Reload,Tableview,我有一个tableviewcontroller,在它里面我尝试加载表的数据。我有一个数组,并使用该数组创建自定义表单元格。它第一次工作正常,但当我想刷新表数据时(在更新数组后,我调用tableview的reloadData方法),但在滚动后会出现更新的数据。而且,新的数组大小比它在向底部滚动时抛出的第一个数组要短 重新加载数据无法正常工作 myArray = [self getNewData:0]; //updating array which is used to creating cell
myArray = [self getNewData:0]; //updating array which is used to creating cells
[self.tableView reloadData]; //reload data
谢谢…听起来重新加载数据的调用完全没有效果。因此,检查
self.tableView
在调用时是否为非nil——在该行上方放置一个NSLog,如下所示:
NSLog(@" self.tableView = %@", self.tableView);
如果是零,那就是你的问题。你说过,滚动后会出现更新的数据。 是否在单元格中添加标签而不是删除标签?在自定义单元格之前,请删除单元格上添加的所有标签
- (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];
}
for (UIView * view in cell.contentView.subviews)
{
[view removeFromSuperview];
view = nil;
}
//Your customization
return cell;
}
可能是这样。
但对我来说,建议的似乎是更精确的解决方案 self.tableView=(null)您是对的。但是它怎么可能是空的,我很震惊。不,我没有使用IB。在loadview方法中,我像下面一样创建它,并且从未发布过它。self.tableView=[[UITableView alloc]initWithFrame:CGRectMake(0,0,320,370)style:uitableViewStyleGroup];self.tableView.backgroundColor=[UIColor greenColor];那么,在代码中,您在哪里调用重载数据呢?向我们展示完整的方法,或者更好地描述它。如果self.tableView=nil,那么要么在您重新加载数据时它还没有被设置,要么是有什么东西把它关闭了。我有一个非常奇怪的情况。如果我将我的表添加到uiview中,它将设置为nil,否则不会。代码导致问题[mainView addSubview:self.tableView];[自我重新加载页面:1第一个案例:是];self.view=mainView;如果我使用下面的like,它不会设置nil[self-reloadPage:1 firstCase:YES];self.view=self.tableView;