2015-05-01 32 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; 

    } 
相關問題