如何从initWithCode为自定义Cell设置UIImageView的image属性?

时间:2013-07-17 02:49:26

标签: ios objective-c uitableview

我该怎么做?

如果我这样设置,它的效果非常好:

if(indexPath.row == lastSelectedCell) {
    // last cell
    TWMainViewExpandedCell *cell = (TWMainViewExpandedCell *)[tableView dequeueReusableCellWithIdentifier:ExpandedCellIdentifier];

    if (cell == nil) {

        cell = (TWMainViewExpandedCell *)[[[NSBundle mainBundle] loadNibNamed:@"MainViewExpandedCell" owner:self options:nil] objectAtIndex:0];
        _circleImage.image = [UIImage imageNamed:@"circle"];

    }

    return cell;
}

但是,当尝试从这里设置相同的图像属性时(这是UITableViewCell的子类,顺便说一下):

@implementation TWMainViewExpandedCell

-(id)initWithCoder:(NSCoder *)aDecoder
{
    NSLog(@"initWithCoder");

    self = [super initWithCoder: aDecoder];
    if (self) {
        _circleImage.image = [UIImage imageNamed:@"circle"];
    }
    return self;
}

这最后一个不起作用。为什么?我知道正在调用initWithCoder。

1 个答案:

答案 0 :(得分:1)

调用circleImage时,您的initWithCoder:电子插座尚未连接,因此它仍然是nil。在awakeFromNib中执行此操作。