Обновление метки UITableViewCell при выборе ячейки, например, приложение настроек на iPhone - PullRequest
1 голос
/ 07 декабря 2011

Таким образом, у меня есть два tableView, один из которых показан сначала во всплывающем окне, затем, когда строка выбрана, он вызывает другой tableView в качестве detailView.Затем я делаю выбор и обновляю свою модель в detailTableView.Затем, когда я возвращаюсь к исходному tableView, мои данные для этой строки не обновляются.

У меня есть UINavigationController в качестве contentViewController для этого контроллера поповера.Я не знал, как я могу обновить метку для этой ячейки, когда я выскочил из DetailTableView.TIA.

Редактировать: По сути, я пытаюсь сделать что-то похожее на настройки-> Местоположения.Когда вы нажимаете на Locations, он открывает подробный вид.Если вы отключите Locations, то ваш главный экран будет отображать Locations -> Off.Если Locations включен, то в главном табличном представлении будет указано Locations-> On.Я не знаю, как получить ссылку на строку, которая создается в cellForRowAtIndexPath, чтобы изменить метку для этой строки, только если это имеет смысл.Спасибо.

Редактировать: Добавленный код ниже

Итак, я понимаю, что могу отправить уведомление, но я не знаю, как обновить эту конкретную ячейку, когда я возвращаюсь в mainTableView, так как яне имеет ссылки на ячейку.Спасибо.

В моем cellForRowAtIndexPath:

else if ([indexPath section] == VERSION) {
    cell = [tableView dequeueReusableCellWithIdentifier:@"VersionCell"];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"VersionCell"] autorelease];
    }
    NSArray *array = [[dmgr VersionDictionary] allKeysForObject:[NSNumber numberWithBool:YES]];
    cell.textLabel.text = [array objectAtIndex:0];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

Вы можете связать два контроллера TableView вместе, передав таблицу popover VC в деталь, чтобы деталь могла уведомить поповер о том, что данные изменились,

или

вы можете зарегистрировать всплывающее окно для получения уведомлений, а подробное сообщение об этом сообщении. Когда поповер получает его, он перезагружается,

или

вы можете сделать так, чтобы popover tvc был слушателем KVO фактических данных модели, которые меняются, и когда это происходит, перезагружаются.

0 голосов
/ 08 декабря 2011

почему вы просто не отправляете делегата из подробного представления и не обновляете первое представление таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...