0

我正在创建UITableViewCell需要保存 3 种类型图像的子类:facebook twitter 和linkedin。问题是我现在需要知道单元支持哪些服务,所以我尝试向名为servicewhich is的类添加一个属性NSString

这就是我设置单元格以将其添加到表格的方式:

static NSString *sCellIdentifier = @"sCell";

SocialTableViewCell *sCell = [tableView dequeueReusableCellWithIdentifier:sCellIdentifier];

sCell.service = @"service";

if (sCell == nil){
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ExampleView" owner:nil options:nil];
    for(id currentObject in topLevelObjects)
    {
        if([currentObject isKindOfClass:[SocialTableViewCell class]])
        {
            sCell = (SocialTableViewCell *)currentObject;
            break;
        }
    }
}

if (indexPath.row == 0) {
    sCell.serviceImage.image = [UIImage imageNamed:@"icon_Twitter.png"];
    sCell.service = @"twitter";
    return sCell;
}

我正在尝试像这样设置属性:

sCell.service = @"twitter";

当我试图从类中的awakeFromNib方法中读取它时,SocialTableViewCell我得到空值。我应该怎么做才能管理这个?

4

1 回答 1

2

在设置属性awakeFromNib之前调用该方法。service

您可以使用service属性的 setter 方法:

-(void) setService:(NSString *)service {
   // Set the value to the internal iVar
   _service = service;

   // Here you can do what you want with the service value like
   self.titleLabel.text = service;
}
于 2013-08-21T08:41:23.497 回答