в строку TableView не введено значение - PullRequest
0 голосов
/ 06 июля 2010

У меня есть базовое представление с UITextField и Tableview. Я могу ввести текст в TextView и записать значение через IBOutlet и IBAction.

Мой IBAction - это setMyNote, в котором я вызываю метод cellForRow ...

В моем методе cellForRow .. у меня есть этот фрагмент кода

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

NSString *enNote = [[NSString alloc] initWithString:enteredNote.text];

NSInteger nRow = [indexPath row];
switch (nRow) {
    case 1:
        cell.textLabel.text = enNote;
        break;
    default:
        break;
}
[enNote release];
return cell;

}

Когда я запускаю свой отладчик, я вижу, что enNote имеет новый текст, который я ввел в textView, и он, похоже, тоже присваивается моему cell.textLabel.text - но моя таблица не показывает этот новый текст. Чего мне не хватает?

1 Ответ

1 голос
/ 06 июля 2010

Вы не должны вызывать cellForRow напрямую.

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

Я думаю, что вам следует обновить источник данных табличного представления вместо попыток обновить ячейку напрямую, а затем перезагрузить табличное представление ([tableView reloadData];).

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