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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用核心数据swift ios获取实体的所有属性到tableview中的行中的标签相关的知识,希望对你有一定的参考价值。

我已经将名称和描述的两个属性定义为名为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!)

}
答案

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

因此,使results数组成为视图控制器的属性:

var results : [NSManagedObject] = []

在qazxsw poi中,从Core Data填充你的qazxsw poi数组:

viewDidLoad

在tableView的results方法中,返回... // presumably you have code to define the fetch request let context = appDel.persistentContainer.viewContext results = try! context.fetch(request) 中的对象计数

numberOfRowsInSection

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

results

以上是关于使用核心数据swift ios获取实体的所有属性到tableview中的行中的标签的主要内容,如果未能解决你的问题,请参考以下文章

iOS (Swift):使用关系获取核心数据

Swift 从实体(核心数据)获取特定的 NSManagedObject

根据 Swift Core Data 中的关系获取与特定实体相关的所有条目

如何在 IOS Swift 中获取核心数据中的多对多关系?

如何使用神奇的 Records Library Swift 获取属性中的所有值

将子实体附加到核心数据 iOS Swift 中的实体