我创建了一个表视图控制器和自定义单元。我创建了一个新的tableviewCell文件,该文件具有自定义单元格中标签的出口。
我已经在tableviewController中导入了tableviewcell类,并尝试通过以下代码将数组中的值赋给单元格:
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier ];
}
cell.name.text = [data objectAtIndex:indexPath.row];
cell.name -----------(不显示tableviewcell类中的uilabel名称,即使在帮助中它不存在!,我有不明白为什么)
以下代码的工作方式是标记标签
// Configure the cell...
// UILabel *label = (UILabel *)[cell viewWithTag:111];
// label.text= [data objectAtIndex:indexPath.row];
我的查询是如何在没有标记的情况下使插座部分工作以及为什么uilabel没有显示在tableviewCOntroller中?
请帮帮我。我真的很感激帮助。
先谢谢。
答案 0 :(得分:3)
如果您的自定义单元格的类名是“MyCustomTableCell”,它是从UITableViewCell继承的,那么代码必须如下所示
static NSString *CellIdentifier = @"Cell";
MyCustomTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[MyCustomTableCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier ];
}
然后你可以访问它的属性
cell.name = @"cell name";
答案 1 :(得分:3)
请记住loadNib:
static NSString *CellIdentifier = @"CellIdentifier";
MyCustomTableCell *cell = (MyCustomTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[MyCustomTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomTableCell" owner:self options:nil] lastObject];
// UINib *theNib = [UINib nibWithNibName:@"MyCustomTableCell" bundle:nil];
// cell = [[theNib instantiateWithOwner:self options:nil] lastObject];
}