gpt4 book ai didi

ios - 返回 UITableView 的值

转载 作者:行者123 更新时间:2023-11-30 12:14:38 24 4
gpt4 key购买 nike

我有 UITableView 并且内容是动态原型(prototype)。

所以我有 5 个单元格,每个单元格都有自己的标识符。所以当我尝试返回 (cellForRowAt) 中的值时它会让我。

请帮忙吗?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

if (indexPath.section) == 0 {

let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as UITableViewCell!
// cell?.textLabel!.text = objectsArray[indexPath.section].sectionObjects[indexPath.row]


return cell!

}
else if (indexPath.section) == 2 {
let cell3 = tableView.dequeueReusableCell(withIdentifier: "cellThree") as UITableViewCell!
return cell3!
}

else if (indexPath.section) == 3 {
let cell4 = tableView.dequeueReusableCell(withIdentifier: "cellFour") as UITableViewCell!
return cell4!
}

else if (indexPath.section) == 4 {
let cell5 = tableView.dequeueReusableCell(withIdentifier: "cellFive") as UITableViewCell!
return cell5!
}

return cell!

}

谢谢!

新更新:-

所以向我显示的错误是(使用未解析的标识符“单元格”)因此,当我最后返回时(返回单元格!),它会显示此错误。但是,如果我删除该行,它会显示另一个错误,要求我返回一个值

所以我很清楚在 (cellForRowAt) 末尾应该返回什么值。

最佳答案

返回值

此方法每次调用时只能返回一个单元格。每次屏幕上即将出现新单元格时都会调用该方法。看一下方法签名:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

最后的 UITableViewCell 是预期的返回值,在本例中它是单个单元格。

错误

让我们看看您的错误:

Use of unresolved identifier 'cell'

“未解析的标识符”意味着它不知道“单元格”是什么,因为它尚未在当前作用域中声明。但是你不是在这个方法中声明了cell吗?是的,但它们属于不同的范围。变量作用域定义了变量的生存时间以及可以在哪里看到它。当您看到一组新的大括号 {}(每个 if 语句都声明了该组)时,您就可以判断何时声明了新的变量作用域。每组大括号内声明的变量只能由这些括号内包含的代码看到。一旦执行离开这些括号,这些变量就消失了。让我们通过删除 if 语句创建的范围来看看在最终 return 语句的范围内可以查看哪些变量:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


return cell!
}

现在很明显,cell 在返回时不存在。您需要在方法的作用域中声明 cell 并为其赋予一些值。请注意,强制展开单元格选项可能会导致运行时崩溃,因为该方法不得返回 nil。当 tableView.dequeueReusableCell() 返回 nil 时,您需要创建单元格。

关于ios - 返回 UITableView 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45578460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com