【发布时间】:2021-02-08 22:13:38
【问题描述】:
我的最终目标是创建一个带有孩子的 SwiftUI List。我有包含项目(子项)的部分(父项),这些部分将展开和折叠其项目列表。
我使用 Realm 使用 NSOutlineView 构建了它,但现在我尝试使用 SwiftUI 和 Core Data 构建它。 *GULP* :)
我对 Core Data 不是很有经验,但我认为我的数据设置正确。我有一个Section 实体和一个Project 实体,而Section 有一个具有一对多关系的projects 属性。
所以,我假设(错误地如下图所示)section.projects 是Project 对象的集合。
为简单起见,我只是想在List 中嵌套这两个(稍后我会担心DisclosureGroup 的东西):
List{
ForEach(sections, id: \.recordName){ section in
Text(section.name)
ForEach(section.projects, id: \.recordName){ project in //<-- ERROR
Text(project.name)
}
}
}
上面标记的行有两个错误,似乎表明我在section.projects 中没有要使用的对象数组:
在“ForEach”上引用初始化程序“init(_:id:content:)”要求“NSObject”符合“RandomAccessCollection”
可选类型 'NSOrderedSet?' 的值必须解包为“NSOrderedSet”类型的值
如果section.projects 是NSOrderedSet,为什么我不能迭代它?
【问题讨论】: