【问题标题】:CORE Data: Fetching Objects in Accordance to Their RelationshipsCORE 数据:根据对象的关系获取对象
【发布时间】:2020-10-27 23:50:46
【问题描述】:

我目前正在试验 CORE Data,我正在尝试根据其父关系获取请求核心数据。我有两个实体,我有一个任务实体(关系:task.category)和一个类别(关系:category.tasks)。

我目前无法根据其父类别关系获取任务。

struct CategoryCard 

    @Environment(\.managedObjectContext)
    var context: NSManagedObjectContext
    
var predicate : String
var category : Category!       // 1. Category is Passed in

@FetchRequest(entity: Task.entity(), sortDescriptors: [NSSortDescriptor(key: "date", ascending: true)],
              predicate: NSPredicate(format: "task.parentCategory == %@", category.title!),
              animation: .spring()
)

var results : FetchRequest<Task>

我目前收到错误:无法在属性初始化程序中使用实例成员“类别”;属性初始化器在“self”可用之前运行

我也在尝试使用 ForEach 循环显示这些结果。

ForEach(results, id: \.self) { task in
                        Text("\(task)")  
                    }

此外,这个卡片视图结构是使用来自不同文件的 ForEach 循环调用的。

ForEach(categoriesResults, id: \.self) { category in
                        CategoryBoxView(category: category)
 }

我应该如何解决这个问题?

【问题讨论】:

    标签: ios swift xcode core-data


    【解决方案1】:

    从传入的类别中访问任务,您不需要获取请求或任务的属性

    ForEach(self.category.tasks, id: \.self) { task in
        Text("\(task)")  
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 2018-09-06
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多