У меня есть прототип ячейки с пользовательским классом, где у меня есть розетки.Прототип ячейки таблицы - не работает
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
, он просто показывает, что все розетки равны нулю.
Я делаю что-то неправильно?
другие скриншоты IB - каков класс верхнего уровня и владелец вашего файла? – QED
Если вы установите эту ячейку в раскадровке, вам не нужно регистрировать класс (и я думаю, что когда я это сделал, он фактически не позволял ему работать правильно, поэтому попробуйте прокомментировать это). Я не уверен, будет ли это иметь значение, но используйте dequeueReusableCellWithIdentifier: forIndexPath: вместо просто dequeueReusableCellWithIdentifier :. – rdelmar
rdelmar: OMG спасибо, это была регистрация класса, спасибо, сэр! Я собираюсь установить его в IB только тогда. Перепишите его в ответ, если хотите, я приму его позже. Кстати, я использую раскадровки. –