iphone重新加载表格视图

iphone重新加载表格视图,iphone,ipad,reloaddata,Iphone,Ipad,Reloaddata,在下面的代码中,我已经确定一切正常,直到[tableView reloadData]我在table view委托方法中设置了NSLOGs,并且没有调用任何NSLOGs。我有其他方法做同样的重新加载数据,它工作得很好。我所知道的唯一区别是这是在一个@catch块中。也许你们这些聪明人能看出我做错了什么 @catch (NSException * e) {////chart is user genrated logoView.image = nil; NSInteger row =

在下面的代码中,我已经确定一切正常,直到[tableView reloadData]我在table view委托方法中设置了NSLOGs,并且没有调用任何NSLOGs。我有其他方法做同样的重新加载数据,它工作得很好。我所知道的唯一区别是这是在一个@catch块中。也许你们这些聪明人能看出我做错了什么

@catch (NSException * e) {////chart is user genrated
    logoView.image = nil;
    NSInteger row = [picker selectedRowInComponent:0];
    NSString *selectedAircraft = [aircraft objectAtIndex:row];
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                         NSUserDomainMask, YES);
    NSString *docsPath = [paths objectAtIndex:0];
    NSString *checklistPath = [[NSString alloc]initWithFormat:@"%@/%@.checklist",docsPath,selectedAircraft];
    NSString *dataString = [NSString stringWithContentsOfFile:checklistPath encoding: NSUTF8StringEncoding error:NULL];


    if ([dataString hasPrefix:@"\n"]) {
        dataString = [dataString substringFromIndex:1];
    }
    NSArray *tempArray = [dataString componentsSeparatedByString:@"\n"];

    NSDictionary *temporaryDictionary = [NSDictionary dictionaryWithObject: tempArray forKey:@"User Generated Checklist"];
    self.names = temporaryDictionary;


    NSArray *tempArray2 = [NSArray arrayWithObject:@"01User Generated Checklist"];
    self.keys = tempArray2;
    aircraftLabel.text = selectedAircraft;
    checklistSelectPanel.hidden = YES;
    [tableView reloadData];


}

您可能不想听这个,但您没有特别提到它,因此必须询问-您是否确实设置了tableView委托?

我遇到了同样的问题。在连续几天把头发撕下来之后,我意识到我已经将我的表设置为视图(即我的视图控制器的视图属性设置为表),显然,这是一个禁忌

如果您的表是您的视图,请创建另一个视图,并将表放置在您创建的新视图中。瞧,你的表格刷新了。

“用户生成的检查表” 和
“01用户生成的检查表”

是的,我有。表视图在代码的所有其他部分都可以正常工作(并重新加载),这很公平。如果将代码移动到catch块之外的另一个分支,会怎么样?或者,注释掉任何不必要的代码,看看是否可以重新加载表?或者在重新加载之前再次手动设置委托?在进一步检查后,似乎“numberOf SectionsInTableView”和“numberOf RowsInSection”委托方法正在工作,但“cellForRowatIndexPath”却没有。我在上面有一个nslog,它甚至没有被绊倒……这段代码与@try块中的部分完全相同,只是数据是从哪里提取的。我当时唯一能想到的是,实际上没有任何行可以显示。这是我能想到为什么不调用该方法的唯一原因。这可能不会有帮助,但只是出于好奇,您是否尝试过使用
self.tableView
而不是
tableView
?我不知道这是否是解决方案,但是我发现在视图中有一个tableview确实可以提供更多的灵活性来调整界面。