1

次のコードでは、[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];


}
4

3 に答える 3

1

「ユーザー生成チェックリスト」および「01ユーザー生成チェックリスト」

于 2010-05-18T03:56:27.413 に答える
1

おそらくこれを聞きたくないでしょうが、具体的に言及していないので、尋ねなければなりません-実際にtableViewデリゲートを設定しましたか?

于 2010-05-18T02:26:09.090 に答える
1

私はこの同じ問題に遭遇しました。何日も頭を悩ませた後、テーブルをビューとして設定していたことに気付きました (つまり、ビュー コントローラーのビュー プロパティがテーブルに設定されていました)。

テーブルビューの場合は、別のビューを作成し、作成した新しいビュー内にテーブルを配置します。テーブルがリフレッシュされます。

于 2010-05-18T03:13:34.150 に答える