Swift - 来自UITableViewController的Cell内部的UITableView

时间:2015-03-10 07:04:16

标签: ios xcode swift uikit tableview

我正在尝试在TableView内添加UITableViewCellController,如下所示:

enter image description here

要向我正在执行此操作的单元格添加内容:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if (tableView == groupPicker) {
        var cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "")

        cell.textLabel?.text = "\(groups[indexPath.row]) - \(sets[indexPath.row]) Set\(ending(sets[indexPath.row]))"

        return cell
    }

    let cell = tableView.dequeueReusableCellWithIdentifier("cell\(indexPath.section)") as UITableViewCell

    return cell
}

groupPicker是我在单元格内的tableview

我收到此错误:

致命错误:在展开Optional值时意外发现nil (lldb)

在这一行:

let cell = super.tableView.cellForRowAtIndexPath(indexPath)

还有另一种方法可以做到这一点,还是我在做什么?

(我的所有单元格都是静态的,我需要单元格内的表格视图是动态的)

提前致谢

更新代码:

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        if (indexPath.section == 0) {
            var cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "")
            cell.textLabel!.text = "Text"

            return cell
        }
        return tableView.dequeueReusableCellWithIdentifier("cell\(indexPath.section)") as UITableViewCell!
    }

我明白了:(lldb) 没有别的

2 个答案:

答案 0 :(得分:0)

首先,您不需要分配单元格。您所需要的只是从tableView中取出单元格。其次,在您的单元格标识符中传递一个空字符串而不是nil。最后,根据它的建议,将细胞的实现分成两种不同的细胞类型。包含tableView的那个应该首先符合你的TableView委托和dataSource方法。

编辑:

您可以使用此委托方法

根据特定部分限制tableView中的编辑
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
       editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

答案 1 :(得分:0)

这可能有帮助吗?

ios swift: How to have one static cell in a dynamic tableview?

我还认为每个细胞都需要一个唯一的标识符。