Custom TableViewCell的UIImageView出口无

时间:2014-10-08 08:46:18

标签: ios objective-c uitableview uiimageview

我在故事板上创建了一个UITableViewCell原型单元格,然后将其链接到继承自ImageViewCell的{​​{1}}。我为原型单元格上的每个控件创建了UITableViewCell,它包含一些IBOutlet和一个UILabel。当我尝试将数据填充到这些控件中时,UIImageView运行良好但UILabel始终为零并且不会显示任何图像。代码:

UIImageView

在我的控制器中:

@interface ImageTableViewCell : UITableViewCell
@property (readonly, nonatomic, strong) Post *post;

// set value for post
- (void)setPost:(Post *)post;
@end

@implementation ImageTableViewCell
{
    __weak IBOutlet UILabel *titleLabel;
    __weak IBOutlet UILabel *descriptionLabel;
    __weak IBOutlet UILabel *pointLabel;
    __weak IBOutlet UIImageView *imageView;

}
- (void)setPost:(Post *)post
{
    _post = post;

    // update ui
    titleLabel.text = self.post.title;
    descriptionLabel.text = self.post.descriptions;
    pointLabel.text = self.post.point;    

    [imageView setImage:[UIImage imageNamed:@"mylocalimage.png"]];

}
@end

所有- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if(feedData == nil || [feedData count] == 0) { return nil; } NSDictionary *postData = [feedData objectAtIndex:indexPath.row]; // prepare data to pass to table view cell Post *post = [[Post alloc] init]; post.title = [postData objectForKey:@"title"]; post.descriptions = [postData objectForKey:@"description"]; post.total_likes = [postData objectForKey:@"total_likes"]; post.total_shares = [postData objectForKey:@"total_shares"]; post.image = [postData objectForKey:@"image"]; ImageTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ImageCell"];; if(cell == nil) { cell = [[ImageTableViewCell alloc] init]; } [cell setPost:post]; return cell; } 工作得很好,但UILabel的图像从未设置过,我尝试使用本地图像进行设置,但仍无法正常工作,经过一些调查后,我发现在我为UIImageView设置图像的时间总是为零。那我怎么能克服这个呢?

更新

关联图片enter image description here

1 个答案:

答案 0 :(得分:3)

尝试将UIImageView的变量名称更改为“imageView”以外的其他名称。原因是UITableViewCell本身有一个名为“imageView”的属性。因此,当您设置属性时,它必须尝试设置超级类的属性,该属性未链接到您的插座,因此结果。