2010-05-18 68 views
1

在下面的代码中,我确定一切正常,直到[tableView reloadData]我已经在表视图委托方法中设置NSLOGs,并没有被调用。我有其他方法做相同的reloadData,它完美的作品。我失去的唯一区别是这是在@catch块。也许你聪明的家伙可以看到的东西,我做错了......iphone重载表查看

@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]; 


} 
+0

这可能不会帮助,但只是出于好奇,你尝试过使用'self.tableView',而不是'tableView'? – shosti 2010-05-18 02:33:41

回答

1

“用户生成清单” 和 “01User生成清单”

1

你可能不希望听到这一点,但你并没有特别提到它,所以它必须要问 - 你有没有实际设置tableView委托?

+0

是的,我有。表视图在代码的所有其他部分中工作正常(并重新加载)。 – Brodie 2010-05-18 02:28:35

+0

够公平的。如果你将代码移动到catch块外的另一个分支,那么怎么办?或者,也可以将任何不必要的代码注释掉,以查看是否可以重新载入表格。或者在重新加载之前再次手动设置委托? – 2010-05-18 02:50:01

+0

经过一些更多的检查后,似乎“numberOf SectionsInTableView”和“numberOfRowsInSection”委托方法正在工作,但“cellForRowatIndexPath”不是。我在那个顶部有一个nslog,并且甚至不会被触发......这段代码与@try块中的部分相同,除了数据从哪里被取出。 – Brodie 2010-05-18 03:28:44

1

我遇到了同样的问题。在把我的头发扯了几天后,我意识到我把桌子设置为视图(即我的视图控制器的视图属性设置为表格),显然,这是一个禁忌。

如果您的表你的看法,使另一种观点,并把创建的新视图内的表。 Et瞧,你的餐桌刷新。

+0

我不知道这是否是这里的解决方案,但是我发现在视图中使用tableview确实可以提供更多的调整接口的灵活性。 – 2010-05-18 03:53:32