视图控制器中的两个表视图:Swift

时间:2015-07-18 02:27:42

标签: ios swift uitableview

我有一个UITableView原型单元格,基本上占用了整个页面。我在底部有一个UIButton,在点按时会显示弹出式静态UITableView。我正在努力解决cellForRowAtIndexPath中弹出表格的问题。

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

        let result: UITableViewCell

        if tableView == self.tableView {

            var cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell

            cell.textLabel!.text = array[indexPath.row]

            result = cell

        } else if tableView == self.popUpTableView {

            var popUpCell = self.popUpTableView.dequeueReusableCellWithIdentifier("popUpCell", forIndexPath: indexPath) as! UITableViewCell

            popUpCell.textLabel!.text = popUpArray[indexPath.row]

            result = popUpCell

        }

        return result
    }

我在return result收到错误,其中Variable 'result' used before being initialized,但我在最顶层声明错误。我在哪里错了?

1 个答案:

答案 0 :(得分:0)

你需要有详尽的选择。结果永远不会被初始化,因为您的检查是“if”和“else if”。如果tableView不是“self.tableView”或“self.popUpTableView”会发生什么?

简单的解决方法是(如果您只计划使用这两个),只需将“else if”更改为简单的“else”即可。这样结果将始终初始化。