gpt4 book ai didi

ios - 使用核心数据swift ios将实体的所有属性获取到tableview中行中的标签

转载 作者:行者123 更新时间:2023-11-30 11:55:37 25 4
gpt4 key购买 nike

我已经为名为 Forms 的实体定义了两个属性名称和描述,我想检索 TableView 行中第一个标签中的名称和第二个标签中的 desc

我做了什么

enter image description here

我当前检索的内容

enter image description here

我希望在每个单元格中打印所有值,而不是每次重复单个单元格

enter image description here

        let context = appDel.persistentContainer.viewContext
let results = try! context.fetch(request)

for result in results as! [NSManagedObject] {

let formNameIs = result.value(forKey: "formName") as? String
let formDescIs = result.value(forKey: "formDesc") as? String

cell.titleLabel.text = formNameIs!
cell.descLabel.text = formDescIs
print(formNameIs!, formDescIs!)

}

最佳答案

看来您误解了 tableView 的工作原理。您不需要遍历所有对象;您应该找到该行的正确对象(如 indexPath 参数中所示),并使用该对象的属性值设置标签。

因此,将 results 数组设置为 View Controller 的属性:

var results : [NSManagedObject] = []

viewDidLoad 中,从 CoreData 填充 results 数组:

...
// presumably you have code to define the fetch request
let context = appDel.persistentContainer.viewContext
results = try! context.fetch(request)

在tableView的numberOfRowsInSection方法中,返回结果中的对象数量

return results.count

并在 tableView 的 cellForRowAt: 方法中,使用 indexPath 参数从 results 数组中找到正确的对象:

let result = results[indexPath.row]
let formNameIs = result.value(forKey: "formName") as? String
let formDescIs = result.value(forKey: "formDesc") as? String
cell.titleLabel.text = formNameIs!
cell.descLabel.text = formDescIs
print(formNameIs!, formDescIs!)

关于ios - 使用核心数据swift ios将实体的所有属性获取到tableview中行中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854988/

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