使用分段控件返回cellForRowAtIndexPath中的两个单元格

时间:2015-06-30 22:34:43

标签: ios swift uitableview uisegmentedcontrol

我有两个UITableViews以上的分段控制,其中一个分层在另一个之上。当segmentedControl.selectedSegmentIndex == 1其中一个表视图隐藏时。但问题是我无法在我的cellForRowAtIndexPath函数中配置第二个表视图的自定义单元格。我一直得到:Variable 'cell' used before being initialized

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        switch segmentedControl.selectedSegmentIndex {
        case 0:
            var cell = tableView.dequeueReusableCellWithIdentifier("CellOne", forIndexPath: indexPath) as! CellOne

            return cell

        case 1:

            var cellTwo = tableView.dequeueReusableCellWithIdentifier("CellTwo", forIndexPath: indexPath) as! CellTwo

            return cellTwo

        default:
            var cell: UITableViewCell
            return cell
        }


    }

1 个答案:

答案 0 :(得分:1)

您有默认分支,但未返回初始化的单元格变量。我建议改变如下:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let result: UITableViewCell

    if (segmentedControl.selectedSegmentIndex == 0) { 
       var cellOne = tableView.dequeueReusableCellWithIdentifier("CellOne", forIndexPath: indexPath) as! CellOne
       //Configure here
       result = cellOne
    } else {
       var cellTwo = tableView.dequeueReusableCellWithIdentifier("CellTwo", forIndexPath: indexPath) as! CellTwo
       //Configure here
       result = cellTwo
    }

    return result
}