UITableview重新加载问题iOS

时间:2012-01-31 06:57:54

标签: iphone xcode uitableview

有些reloadData UITableView方法不起作用,即当我写[tableView reloadData]时,有时它会调用数据源方法,有时不会。

可能是什么问题,有人可以给我答案。

这是我的代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  {
    // Return YES for supported orientations.   
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){      
    [self performSelector:@selector(changeSegmentControllerFrame) withObject:nil afterDelay:0.0001];        
    [m_kwikiTable reloadData];      
    return YES;     }   
    else        
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
}

3 个答案:

答案 0 :(得分:0)

尝试在

处设置断点
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

方法...因为如果它返回零,那么它就不会打扰执行下一个方法,即

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

答案 1 :(得分:0)

请添加您的代码。可以在您的代码中查看这些内容。

  1. 你应该设置cell.accessoryView if(cell == nil){} 2.In - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath你可以使用tableView而不是使用tableViewDistance(可能是nil?) 3.In - (void)viewDidLoad你应该先调用[super viewDidLoad];然后进行自定义。
  2. 通过此链接,这将有助于您调试:

    tableView reloadData not working: cellForRowAtIndexPath not called

答案 2 :(得分:0)

将nslog放入委托

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

返回行计数以检查它是否重新调整为0或任何其他值