问题是未显示表视图中单元格的内容!

列出部分代码

1.在视图控制器中

 @property (strong, nonatomic) IBOutlet UITableView *mtableview;

2.在viewDidLoad
self.mtableview.delegate = self;

self.mtableview.dataSource = self;

[self.mtableview registerClass:[MyTableViewCell
class]forCellReuseIdentifier:@"MytableViewcell" ];

3.在表视图中的cellForRowAtIndexPath中:
  MyTableViewCell *mcell = [tableView
     dequeueReusableCellWithIdentifier:@"MytableViewcell" forIndexPath:indexPath];

     mcell.mdataname.text = [mdataArray objectAtIndex:indexPath.row];

4.在MyTableViewCell中
 @property (strong, nonatomic) IBOutlet UILabel *mdataname;

5.我发现mcell不是nil,它已经是alloc,但是mcell.mdataname是nil

6.如果使用情节提要设置MyTableViewCell标识符,然后删除
 [self.mtableview registerClass:[MyTableViewCell
    class]forCellReuseIdentifier:@"MytableViewcell" ];

表格视图中单元格的内容显示!

7.因此,我们无法以编程方式设置单元格的标识符吗?

最佳答案

看起来您应该具有与自定义单元格类关联的XIB,并且应该在代码中加载关联的NIB文件并注册NIB(而不是注册类)。

要么是因为您的类未在initWithStyle:reuseIdentifier:方法中正确配置自身(尽管在使用IBOutlet时此选项似乎不太可能)。

目前,无论您遇到什么问题,都不会从归档文件创建/加载mdataname

关于ios - TableView registerClass:forCellReuseIdentifier不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23365681/

10-09 16:31