2014-04-29 56 views
1

问题是tableview中单元格的内容不显示!!码的TableView注册类:forCellReuseIdentifier不起作用

列表部分

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.在tableview中的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不为零,就已经页头,但mcell.mdataname是零

6.如果我使用故事板设置MyTableViewCell标识符,并删除

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

tableview中单元格的内容显示!!

7.所以我们不能以编程方式设置单元格的标识符?

回答

2

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

要么是这样,要么是您的班级在initWithStyle:reuseIdentifier:方法中没有正确配置自己(尽管此选项看起来不太可能,因为您使用的是IBOutlet)。

目前,无论您有什么问题,mdataname都不会从存档创建/加载。

+0

我发现如果在我的自定义tabelviewCell(initWithStyle:reuseIdentifier:)中初始化IBoutlet组件,则会显示内容。谢谢。你的猜测是对的。 – user3365407