tableview中出现意外的非void返回值

时间:2017-07-01 01:20:31

标签: ios swift xcode parse-platform swift3

我有一个tableview控制器,对于tableview,我注册了两个单元格。根据数据库中的数据,将确定将为tableView的每一行注册哪个单元格。但我的类中有一个指针用于从另一个类中获取数据,我必须首先获取数据,然后才能确定使用哪个单元格,而我的代码是在void函数中,我现在有了回到牢房的麻烦。这是我的代码。我收到此错误" void函数中出现意外的非void返回值"当我尝试在下面的代码中返回CellOne和cellTwo时

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath, object: PFObject?) -> PFTableViewCell? {
    let CellOne = tableView.dequeueReusableCell(withIdentifier: "Cellone", for: indexPath as IndexPath) as! CellOne
    let CellTwo = tableView.dequeueReusableCell(withIdentifier: "CellTwo", for: indexPath as IndexPath) as! CellTwo

    let CellObject = object?["Home"] as? PFObject
    CellObject?.fetchIfNeededInBackground(block: { (cellsObject, error) in
        if error == nil{
            if cellsObject?["CellType"] as? String == "land"{
                return CellOne
            }else{
                return CellTwo
            }
        }else{

        }
    })
}

2 个答案:

答案 0 :(得分:0)

尝试在加载tableview之前将条件置于函数内,创建变量以获取值true或false,并在tableview中确保它为true打开cellOne else cellTwo

答案 1 :(得分:0)

您没有从函数返回任何内容,而是从关闭内返回一个单元格,但该函数完成后不返回任何内容。