UITableView _configureCellForDisplay:forIndexPath中的断言失败

时间:2014-12-15 09:01:35

标签: ios objective-c iphone uitableview cocoa-touch

加载我的tableview时出现此错误,我不确定原因:

  

断言失败 - [UITableView   _configureCellForDisplay:forIndexPath:],/ SourceCache / UIKit_Sim / UIKit-3318.16.14 / UITableView.m:7344

我在故事板中添加了UITableViewController,我正在使用原型单元来设计单元格。我将单元格链接到我的自定义UITableViewCell子类,并将其重用标识符设置为“Cell”。当我在dequeueReusableCellWithIdentifier中拨打cellForRowAtIndexPath时,我收到断言失败。从我所读到的,当我没有在原型单元格中设置重用标识符时会发生这种情况,但是我已经检查了无数次,并且它是我在出列时使用的相同标识符。

以下是我的数据源方法在UITableViewController子类中:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 2;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    LanguageSelectionTableViewCell *cell = (LanguageSelectionTableViewCell*)[self.tableView dequeueReusableCellWithIdentifier:@"Cell"];

    return cell;
}

2 个答案:

答案 0 :(得分:0)

尝试使用

[self.tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];

而不是dequeueReusableCellWithIdentifier

答案 1 :(得分:0)

您必须使用给定的reusablecellidentifier“Cell”注册tableviewcell。

示例代码如下。

[yourTableView registerNib:[UINib nibWithNibName:@"YouTableViewCellNibName" bundle:nil] forCellReuseIdentifier:@"CellIdentifier"];