男士们,
我需要一些帮助。这几乎就像我知道我在尝试做什么,但是在编写代码时我一直无法让它工作。场景是我有一个视图控制器,里面有一个表视图。我的表格视图有三种不同的动态原型,因为我有三种不同的单元格。现在,我要做的就是指定在哪一行中生成哪个原型单元格。我还在情节提要中为每个原型单元格提供了唯一标识符。
我理解事物的方式是我的 cellforRowatIndexpath 方法需要了解在该行中显示哪种单元格,然后选择标识符,出列并根据需要设置内容。
相应地,这是我正在尝试做的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath * )indexPath
{
if(indexPath.row==0)
{
static NSString *CellIdentifier = @"HelloCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// configure your cell here...
return cell;
}
}
不幸的是,事情没有按计划进行,我的应用程序崩溃了 2013-02-07 16:47:39.859 ProjectsABC30068:c07] *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSIndexPath setTableViewStyle:] : 无法识别的选择器发送到实例 0x83812e0' 错误。
由于我已正确设置数据源和委托,因此表视图没有问题。并且还为表格视图做了一个出口。
我还尝试将 cellforRowAtIndexPath 中的 if 语句更改为 if(myTable.indexPathForSelectedRow==0)。这会在所有单元格中生成动态原型,但至少应用程序不会停止。
大家觉得是什么问题?
我不知道如何正确使用索引路径,如果有人可以帮助我,我将不胜感激。