2014-03-25 120 views
0

我想表明我的表視圖定製的電池。我正確地做了這些步驟表視圖沒有顯示我的自定義單元格

  • 添加一個表視圖到故事板。
  • 設計使所述細胞與兩個按鈕,一個圖像視圖,和三個標籤。
  • 在.h文件中爲我的標籤,圖像視圖設置iboutlets,爲它的單元格和子類添加一個類。使用uitableviewcell
在我的表視圖控制器類

我做這些事情

  • 從Web服務中獲得的一些值,並將其加載到數組中的viewDidLoad中。
  • 中的cellForRowAtIndexPath我已創建的單元格,只加載一些值,我需要在細胞中顯示。爲了測試,我只是給標籤提供一個示例文本。

但是當我運行該應用所設計的細胞不顯示。只有空行在那裏。

什麼是錯了,我沒有...我無法理解......請幫助我的人..

下面

是我的代碼

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"cell"; 
// UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
duplicateCell *cell = (duplicateCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 
cell.delegate_D = self; 
// TacleCell *cell = (TacleCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 
//cell.delegate = self; 
// Configure the cell... 

NSArray* currentDuplicates = [self.duplicateArray objectAtIndex:indexPath.row]; 
NSLog(@"DUPLICATE IN DUPLICATE:%@",currentDuplicates); 

cell.Name_D.text = @"test name"; 


return cell; 
} 


- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
//#warning Potentially incomplete method implementation. 
// Return the number of sections. 
return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
//#warning Incomplete method implementation. 
// Return the number of rows in the section. 
NSLog(@"COUNT:%[email protected]",[self.duplicateArray count]); 

return [self.duplicateArray count]; 
} 


- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

// Uncomment the following line to preserve selection between presentations. 
// self.clearsSelectionOnViewWillAppear = NO; 

// Uncomment the following line to display an Edit button in the navigation bar for this view controller. 
//self.navigationItem.rightBarButtonItem = self.editButtonItem; 
[self.tableView registerClass:[duplicateCell class] forCellReuseIdentifier:@"cell"]; 
self.title = @"Duplicate Req"; 
self.duplicateArray = [TableViewController getDuplicateList]; 
NSLog(@"DUPZ %@",self.duplicateArray); 

} 

請幫助我的人......

編輯:下面的圖像將幫助你瞭解我的情況,我認爲..

second view is the one i got trouble

i gave cell Identifier like this

這裏是我的故事Bord ..你可以看到最後一個視圖控制器(在右上角)是我談論的一個。它旁邊還有一個功能相同的功能,但它的功能就像是一種魅力。我使用了相同的代碼,並遵循相同的步驟。爲什麼這不顯示我正確的結果..?

story board

我已經解決了ISSUE..I都給予了WRONG SEGUE。我所做的就是,我之間創造了兩條表意見SEGUE並執行SEGUE IN MY ALERT VIEW..NOW正常工作......

謝謝大家WHO指導我..

+1

從viewDidLoad中取出的registerClass並再次檢查** ** Name_D連接到類文件 –

+1

一直在cellIdentifier被提供給故事板的電池? – AppleDelegate

+0

是的,我沒有包括它..但是當我運行該應用程序時,它給了我cellforRowAtindexpath方法中第二行的錯誤。這就是爲什麼我包括該行。如果我刪除它,它給了我這個錯誤終止應用程序由於未捕獲的異常'NSInternalInconsistencyException',原因:'無法使標識符單元出列單元格 - 必須註冊一個標記的nib或類或連接故事板中的原型單元格' – Darshana

回答

0

ü需要初始化當它沒有被deque收到時,這個單元格會被刪除

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"cell"; 
// UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
duplicateCell *cell = (duplicateCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 
if(cell == nil) 
{ 
cell = [[duplicateCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
} 
+0

我應用代碼..但沒有發生:( – Darshana

0

嗨使用xib定製UITableViewCell類並在xib中繪製單元格。

然後使用這個代碼在你的tableView類

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"cell"; 

    duplicateCell *cell = (duplicateCell *)[tableView dequeueReusableCellWithIdentifier: cellIdentifier]; 
    if (cell == nil) 
    { 
     NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"duplicateCell" owner:self options:nil]; 
     cell = [nib objectAtIndex:0]; 
    } 

    cell.nameLabel.text = [tableData objectAtIndex:indexPath.row]; 
    cell.thumbnailImageView.image = [UIImage imageNamed:[thumbnails objectAtIndex:indexPath.row]]; 
    cell.prepTimeLabel.text = [prepTime objectAtIndex:indexPath.row]; 

    return cell; 
} 
相關問題