显示原型细胞

时间:2015-12-22 00:12:59

标签: ios swift tableviewcell

如果我想在Objective-C中创建一个表格视图,每个单元格都有不同的定制,我会创建多个原型单元格,自定义它,并为每个单元格设置自己的标识符。然后我会添加这个代码,以便单元格看起来就像我自定义的那样。

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

    static NSString *CellIdentifier = @"Cell";
    switch ( indexPath.row )
    {
        case 0:
            CellIdentifier = @"fj";
            break;

        case 1:
            CellIdentifier = @"pg";
            break;
    }

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier forIndexPath: indexPath];

    return cell;
}

我现在正在将我的应用程序更新为Swift 2,并且想知道如何将上面的代码更改为在Swift 2中工作。谢谢!

1 个答案:

答案 0 :(得分:1)

你走了:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cellIdentifier: String

    switch indexPath.row {
    case 0:
        cellIdentifier = "fj"
    case 1:
        cellIdentifier = "pg"
    default:
        cellIdentifier = "Cell"
    }

    let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)
    return cell
}

您会注意到语法非常相似,函数调用遵循与Objective-C版本相同的格式。为了清理它,如@sunshine提到的那样,你可以将单元标识符作为枚举,并将特定行作为该枚举的实例存储在数组中。然后你的开关就在存储在数组中行索引的枚举值上。