我创建了一个tableviewcontroller来处理tableview中的4个静态单元格。 tableview位于4个单元格的正下方。然而,最后一个单元格,第四个单元格,基于第三个单元格的结果是可选的。
选择器返回一个值,当它执行时,如果值正确,它会重新加载tableview以激活第4个单元格。
当我运行应用程序时,它在加载SettingsViewController时崩溃并出现此错误:
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法使用标识符Cell对单元格进行出列 - 必须为标识符注册nib或类或在故事板中连接原型单元格
如果我有静态单元格,我认为我不需要重用标识符?
以下是相关代码:
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(self.showLastCell)
{
return 4;
}
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
return cell;
}
答案 0 :(得分:0)
出列单元格用于包含动态单元格的表格视图。静态单元格表视图不必具有数据源cellForRowAtIndexPath。因此,您可以安全地删除数据源方法cellForRowAtIndexPath。
请查看此问题以获取更多说明:Storyboard static cells: dequeueReusableCellWithIdentifier returns nil
或者您可以使用此处提到的超级方法:UITableView with static cells without cellForRowAtIndexPath. How to set clear background?
答案 1 :(得分:0)
你不需要将它出列,正如你所说,它只是静态单元格。
而不是:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
使用:
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
祝你好运!
编辑:太慢了!