2013-12-14 71 views
1

在我的應用程序中,我有ViewController,它將TableView與靜態單元格放在一起。故事板的外觀喜歡這樣的:TableView與靜態單元格「... dataSource必須從cellForRowAtIndexPath返回一個單元格」錯誤

enter image description here

在.m文件我寫道:

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

[self.myTableView cellForRowAtIndexPath:indexPath]; 
    } 

但是我收到一個錯誤:dataSource must return a cell from cellForRowAtIndexPath 我做錯了嗎?

回答

1

你這樣做是錯誤的 - 在該函數中你必須創建並返回一個單元格。

最常見的實現是:

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

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    return cell; 
} 

從我看到你想返回不同的細胞對不同行 - 比你要創建,如果該函數內部/ else塊將出列適當的細胞類型具有獨特每類型標識符。

如果你至少通過一個教程,這將是一件好事。這裏是應該幫助你的那個:http://www.appcoda.com/customize-table-view-cells-for-uitableview/

+0

我只想讓TabeView看起來像故事板,並且不要以編程方式創建某些東西。我只需要更改labels.text屬性 – daleijn

+0

您不在* static * table視圖中實現cellForRowAtIndexPath或任何數據源方法,請比較上面的「可能的重複」。 –

相關問題