iphone重装tableView

时间:2010-05-18 02:19:53

标签: iphone ipad reloaddata

在下面的代码中,我确定一切正常,直到[tableView reloadData]我在表视图委托方法中设置了NSLOG,并且没有一个被调用。我有其他方法做同样的reloadData,它完美地工作。我离开的唯一区别是这是在@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];


}

3 个答案:

答案 0 :(得分:1)

你可能不想听到这个,但你没有特别提到它所以必须要求它 - 你实际上是否设置了tableView委托?

答案 1 :(得分:1)

我遇到了同样的问题。在我的头发结束了几天之后,我意识到我已经将我的桌子设置为视图(即我的视图控制器的视图属性设置为表格),显然,这是禁止的。

如果您的表 您的视图,请创建另一个视图,并将该表放在您创建的新视图中。瞧,你的桌子会刷新。

答案 2 :(得分:1)

“用户生成的核对表” 和 “01User Generated Checklist”