эта проблема возникла в течение нескольких дней и, похоже, не может найти решение этой проблемы.Это, вероятно, некоторые очень простые вещи, но до сих пор не может найти решение.
У меня есть куча ярлыков, вложенных в ячейки табличного представления с кнопкой редактирования навигационного контроллера, которая переходит в другое табличное представление.Это табличное представление имеет текстовые поля, которые хранят данные в базе данных SQLite.Метки возвращают определенные значения из базы данных.Теперь эта часть работает отлично.Но когда я обновляю текстовое поле и возвращаюсь к меткам, метка не обновляется, если я прокручиваю таблицу так, чтобы измененная ячейка была вне поля зрения, то она обновляется, поэтому думаю, что проблема в том, что ячейка все еще имеетстарое значение кэшируется и освобождает его только после удаления из очереди.
Часть кода: (по крайней мере, я думаю, что это важно, поскольку именно здесь создаются ячейки)
Любая помощь приветствуется.Спасибо
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"ContactsDetailCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
int row = [indexPath row];int section = [indexPath section];
NSDictionary * resultSet = [sqliteManager queryRow: [NSString stringWithFormat: @ "SELECT * ИЗ контактов WHERE id =% d;", contactsId]];
switch (раздел) {case 0: switch (строка) {case 0: cell.textLabel.text = @ "Name:";
UILabel *nameLabel = [[UILabel alloc] initWithFrame: CGRectMake(90, 10, 200, 25)];
nameLabel.text = [resultSet objectForKey:@"name"];
nameLabel.textColor = [UIColor blackColor];
nameLabel.font = [UIFont systemFontOfSize:17.0];
nameLabel.backgroundColor = [UIColor whiteColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
[cell.contentView addSubview:nameLabel];
[nameLabel release];
break;
case 1:
cell.textLabel.text = @"Address:";
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UILabel *addressLabel = [[UILabel alloc] initWithFrame: CGRectMake(90, 10, 200, 25)];
addressLabel.text = [resultSet objectForKey:@"address"];
addressLabel.textColor = [UIColor blackColor];
addressLabel.font = [UIFont systemFontOfSize:17.0];
addressLabel.backgroundColor = [UIColor whiteColor];
[cell.contentView addSubview:addressLabel];
[addressLabel release];
break;
default:
break;
} break;по умолчанию: перерыв;