Ios UITableViewCell子类不';不要让我设置标签文本

Ios UITableViewCell子类不';不要让我设置标签文本,ios,uitableview,uilabel,subclass,Ios,Uitableview,Uilabel,Subclass,我创建了一个子类UITableViewCell,以获得一个更大的带有更多选项的TableViewCell 但我的问题是无法设置标签的文本: 第一条日志消息返回我期望的文本,但第二条总是日志(null) 我真的不知道该怎么办。我像往常一样创建了标签: @property (weak, nonatomic) IBOutlet UILabel *mainLabel; 当然,我连接了标签并合成了它们(检查了两次)。我还实现了这个方法 - (CGFloat)tableView:(UITableView

我创建了一个子类
UITableViewCell
,以获得一个更大的带有更多选项的TableViewCell

但我的问题是无法设置标签的文本:

第一条日志消息返回我期望的文本,但第二条总是日志(null)

我真的不知道该怎么办。我像往常一样创建了标签:

@property (weak, nonatomic) IBOutlet UILabel *mainLabel;
当然,我连接了标签并合成了它们(检查了两次)。我还实现了这个方法

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
为每个单元获得适当的高度(工作正常)


顺便说一句,复选标记按预期显示。这只是关于标签。

确保在
cellforrowatinexpath
方法中实例化自定义的
UITableViewCell
子类。还要确保那些
IBOutlets
是在
UITableView
子类中声明的,而不是在包含
TableView
的视图控制器中声明的。还要确保interface builder中单元格的父类设置为相同的子类

类似这样的内容(自定义
UITableViewCell
子类接口文件):

然后在
单元格中单击rowatinexpath
,类似于:

static NSString *CellIdentifier = @"MyCellIdentifier";
MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

BlogItem *bi = [[channel items] objectAtIndex:[indexPath row]];

// Configure the cell...
cell.mainLabel.text = [bi title];
// ... Other stuff
return cell;

在我看来,手机是零。首先尝试记录,以确保您确实有一个单元格对象。您是否在xib文件中用单元格…附加了标签插座???如果是,则检查您的单元格,要么是它的nil???单元格存在:例如:但是标签本身([cell mainLabel])是nil。我如何分配它?这是一个弱引用。我的代码已经是这样了。唯一的区别是您将IBOutlet声明为strong。当我学习编程时,有人告诉我要始终将IBOutlets设置为弱属性。我现在已将其更改为strong并对其进行了初始化。现在文本至少设置正确了。因此,它不显示任何内容。
#import <UIKit/UIKit.h>

@interface MyCustomCell : UITableViewCell
    @property (nonatomic, weak) IBOutlet UILabel *mainLabel;
@end
@synthesize mainLabel;
static NSString *CellIdentifier = @"MyCellIdentifier";
MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

BlogItem *bi = [[channel items] objectAtIndex:[indexPath row]];

// Configure the cell...
cell.mainLabel.text = [bi title];
// ... Other stuff
return cell;