我试图在不同的时间用不同的原型单元填充tableView。问题是let cell = tableView.dequeueReusableCell(withIdentifier: "MeArticlesCell") as? MeArticlesCell else {return UITableViewCell()}
之后的任何代码都没有被调用,我不知道为什么。我返回的行数正确。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if(postsSelected){
guard let cell = tableView.dequeueReusableCell(withIdentifier: "messageCell") as? feedMessagesCell else {return UITableViewCell()}
//the code in this part loads posts fine
} else {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "messageCell") as? feedMessagesCell else {return UITableViewCell()}
//this part never gets called
}
}
答案 0 :(得分:0)
基本上,您的guard
语句失败并进入else
部分。
guard let cell = tableView.dequeueReusableCell(withIdentifier: "messageCell") as? feedMessagesCell else { // this fails
// enters here
return UITableViewCell()
// exist the function - nothing will be run after
}
我的猜测是它无法以feedMessagesCell
的形式广播它,因此tableView.dequeueReusableCell(withIdentifier: "messageCell") as? feedMessagesCell
使cell
为零(然后输入{{1 }}部分)
答案 1 :(得分:0)