1

我有带有自定义类的单元原型,其中有网点。

插座连接 在单元原型的 IB 中设置的自定义类

STRMEpisodeCell.h

#import <UIKit/UIKit.h>
#import "Show.h"

@interface STRMEpisodeCell : UITableViewCell
@property (weak, nonatomic) Show *show;
@property (weak, nonatomic) IBOutlet UILabel *showLabel;
@property (weak, nonatomic) IBOutlet UILabel *episodeLabel;
@property (weak, nonatomic) IBOutlet UIImageView *posterView;
@end

STRMEpisodeCell.m

#import "STRMEpisodeCell.h"

@interface STRMEpisodeCell ()

@end

@implementation STRMEpisodeCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

- (void)setShow:(TVDbShow *)show
{
    _show = show;
    self.showLabel.text = show.title;
}

@end

STRMViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.episodeTable.dataSource = self;
    [self.episodeTable registerClass:[STRMEpisodeCell class] forCellReuseIdentifier:@"episode"];

    self.list = //loading data here;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    STRMEpisodeCell *cell = [tableView dequeueReusableCellWithIdentifier:@"episode"];
    cell.show = self.list[indexPath.row];
    return cell;
}

当我在其中设置断点时cell.show = self.list[indexPath.item];cell它只会显示所有出口都为零。

我做错什么了吗?

4

1 回答 1

4

当使用您在情节提要中设置的表格视图单元格时,您不应该注册该类,因为这将阻止表格视图获取您在 IB 中设置的单元格。我认为您只想在完全用代码设置单元格时注册一个类。

如果您在 xib 文件中创建单元格,并且有一个自定义类,那么您注册的是 nib 而不是类。

于 2013-03-22T01:06:53.723 回答