我有一个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{
}
})
}
答案 0 :(得分:0)
尝试在加载tableview之前将条件置于函数内,创建变量以获取值true或false,并在tableview中确保它为true打开cellOne else cellTwo
答案 1 :(得分:0)
您没有从函数返回任何内容,而是从关闭内返回一个单元格,但该函数完成后不返回任何内容。