2015-05-01 44 views
-1

我有一个customTableViewCell,我想设置一个图像和一些文本。该单元格已成功创建,但属性为nil。我不确定在.xib中是否有某些我错过的东西,但我无法弄清楚。该网点是在customViewCell.h设置和连接在.xibCustomTableViewCell属性没有被设置(它们为零)

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *cellIdentifier = @"socialMediaCell";  

    CustomSocialMediaTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    CustomSocialMediaTableViewCell *tagCell = (CustomSocialMediaTableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"socialMediaCell"]; 

    if (cell == nil) { 

     cell = [[CustomSocialMediaTableViewCell alloc] 
     initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 

     tagCell = [[CustomSocialMediaTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 

    NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"socialPosts"]; 

    UIImage* image = [UIImage imageWithData:imageData]; 

    cell.socialMediaTextView.text = @"TEXT"; 

    cell.socialMediaImageView.image = image; 

    return cell; 
} 
+0

化妆确定你的网点是@Property .. –

+0

请更正问题的代码格式... –

+1

cellIdentifier = @“socialMediaCell”或cellIdentifier = @“CustomSocialMediaTableViewCell”? –

回答

0

你两次引用同一CustomTableViewCell,然后你要分配的东西它:

static NSString *cellIdentifier = @"socialMediaCell";  

****Declared once here**** 
CustomSocialMediaTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

****Declared a second time here*** 
CustomSocialMediaTableViewCell *tagCell = (CustomSocialMediaTableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"socialMediaCell"]; 

使用第一个声明cell并删除第二。

然后你说的如果单元格是空的,风格它,你已经做了两次。做一次。

if (cell == nil) { 

    cell = [[CustomSocialMediaTableViewCell alloc] 
    initWithStyle:UITableViewCellStyleDefault]; 
} 

然后你可以添加和分配你需要的东西。

我有一种感觉,你可能已经试图用现代方法通过为它创建一个.xib来实现这个更困难的方法,当你可以在故事板中选择TableViewCell并设置它的类。然后你可以按住Ctrl +从你的UILabel和UIImage拖动到你的.h文件中。

如果你不希望这样做,或者没有人把它这种方式确保您引用的UILabel和UIImage的正确连接,并且您已经声明的IBOutlet两个 - 像这样

@property (nonatomic, weak) IBOutlet UILabel * customText; 
+0

我只是宣布了两个单独的变量来显示不同的方式,我试图做到没有成功。是的,我的CustomCell有一个独立的.xib文件,但无论如何,它仍然让我困惑,为什么这个单元格被创建,但属性是零@SASmith –

0

编辑内部if (cell==nil)与下面的代码

if (cell == nil) { //Check cell is nil or not 


    NSArray *nib; 
    nib = [[NSBundle mainBundle] loadNibNamed:@"CustomSocialMediaTableViewCell" 
               owner:self options:nil]; //if cell is nil add CustomSocialMediaTableViewCell Xib 

    for (id oneObject in nib) if ([oneObject isKindOfClass:[CustomSocialMediaTableViewCell class]]) 
       cell = (CustomSocialMediaTableViewCell *)oneObject; 

    } 
相关问题