2012-12-18 54 views
0

我已將子類UITableViewCell設置爲MyCell並試圖讓表顯示。我總是收到消息:使用自己的筆尖和UITableViewCell的子類的TableViewCell設計

exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:

tableView:cellForRowAtIndexPath的代碼如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *CellIdentifier = @"Cell"; 
MyCell* cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
// Configure the cell... 
MyCell* theCell = (MyCell *)cell; 
UILabel* lab = theCell.theLabel; 
lab.text = @"This is the label text"; 
return cell; 
} 

我已經設置了CellIdentifier如在筆尖 「小區」。我以爲我正在返回最後一行的單元格? 我哪裏錯了?

+0

是對了myCell子類繼承的UITableViewCell? – johan

+0

你的代碼的第二行中的東西是不正確的... – Mundi

+0

謝謝,刪除了第二行。是一個錯誤。 – Pete

回答

1

您的手機必須爲零。你應該白是這樣的:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    MyCell* cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (!cell) { 
     cell = [[NSBundle mainBundle] loadNibNamed:@"MyCell"].lastObject; 
    } 
    // Configure the cell... 
    UILabel* lab = cell.theLabel; 
    lab.text = @"This is the label text"; 
    return cell; 
} 
+0

我同意,情況可能如此。請注意,這是一個例外,如果您使用'Storyboards',它應該爲您創建一個單元格(只要您具有正確的標識符設置,我相信)。 –

+0

感謝您的幫助!我忘了加載筆尖,沒有可用的單元返回。 – Pete

相關問題