在tableview单元格上打印CoreData
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在tableview单元格上打印CoreData相关的知识,希望对你有一定的参考价值。
我这里有2个不同的测试用例。在案例1中,这是我用来从CoreData打印全部条目的工作。我试过在app2中做同样的事情,但它不起作用。我想要做的就是在每个单独的单元格中包含所有核心数据条目。
APP1
override func viewDidLoad() {
super.viewDidLoad()
user = coreDataHandler.getSortedData()
for i in user! {
displayL.text = String(i.username)
}
}
APP2
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
user = coreDataHandler.getSortedData()
return user!.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = cctv.dequeueReusableCell(withIdentifier: "cell")
for i in user! {
cell?.textLabel?.text = String(describing: i.username)
return cell!
}
return cell!
}
答案
如果你想打印每个单元格中的所有用户条目,那么你可以尝试下面的解决方案,
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
user = coreDataHandler.getSortedData()
return user!.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
for i in user! {
cell?.textLabel?.text = String(describing: i.username)
}
return cell!
}
如果你想在每个单元格中打印每个条目,请尝试以下解决方案,
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
user = coreDataHandler.getSortedData()
return user!.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
let currentUser = user[indexPath.row]
cell?.textLabel?.text = String(describing: currentUser.username)
return cell!
}
注意:这只是一个伪可能包含错误
另一答案
你做错了
这样做
let user: [UserType] = []
override func viewDidLoad() {
super.viewDidLoad()
user = coreDataHandler.getSortedData()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return user.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
let currentUser = user[indexPath.row]
cell?.textLabel?.text = "(currentUser.username)"
return cell!
}
你不需要在cellForRowAt
委托中再次迭代,因为它是自我迭代的delgate。
为了安全编码,请使用guard let
或if let
来展开值。在任何时间强制解包导致应用程序崩溃。
以上是关于在tableview单元格上打印CoreData的主要内容,如果未能解决你的问题,请参考以下文章
如何将uicollectionview单元格合并到tableview第一个单元格上
在目标 c 中按住 tableview 单元格上的按钮状态单击
数据不会从 JSON 解析加载到某些 Tableview 单元格上
如何在 ipad 中的 tableview 单元格上显示弹出框单击