iphone перезагрузить tableView - PullRequest
1 голос
/ 18 мая 2010

В следующем коде я определил, что все работает, до тех пор, пока [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 ]

1 голос
/ 18 мая 2010

Я столкнулся с этой же проблемой. После того, как я несколько дней подряд рвал на себе волосы, я понял, что в качестве представления я установил свою таблицу (т. Е. Свойство view моего контроллера представления было установлено на таблицу), и, по-видимому, это нет-нет.

Если ваша таблица является вашим представлением, создайте другое представление и поместите таблицу в новое созданное представление. Et вуаля, ваш стол обновляется.

1 голос
/ 18 мая 2010

"Пользовательский контрольный список" а также "Контрольный список, сгенерированный пользователем"

1 голос
/ 18 мая 2010

Вы, вероятно, не хотите слышать это, но вы не упомянули об этом, поэтому нужно спросить - вы действительно установили делегат tableView?

...