Core data 无法转换类型为';获取结果<;主题>';到预期的参数类型';设置<;主题>';
调用Core data 无法转换类型为';获取结果<;主题>';到预期的参数类型';设置<;主题>';,core-data,swiftui,Core Data,Swiftui,调用currentTopics(主题:主题,主题:主题)会引发错误:无法将类型为“FetchedResults”的值转换为预期的参数类型“Set” 代码如下: func currentTopics(subject: Subject, topics: Set<Topic>) -> Set<Topic> { var collected: Set<Topic> = [] for topic in topics { if subject.
currentTopics(主题:主题,主题:主题)
会引发错误:无法将类型为“FetchedResults”的值转换为预期的参数类型“Set”
代码如下:
func currentTopics(subject: Subject, topics: Set<Topic>) -> Set<Topic> {
var collected: Set<Topic> = []
for topic in topics {
if subject.topics!.contains(topic) {
collected.insert(topic)
}
}
return collected
}
func当前主题(主题:主题,主题:集)->Set{
收集的变量:Set=[]
对于主题中的主题{
如果subject.topics!.contains(主题){
收集。插入(主题)
}
}
收回的报税表
}
这是声明部分:
struct TopicView: View {
@State var subject: Subject
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(sortDescriptors: [NSSortDescriptor(key: "title", ascending: true)])
private var topics: FetchedResults<Topic>
...
}
结构主题视图:视图{
@状态变量主语:主语
@环境(\.managedObjectContext)私有变量viewContext
@FetchRequest(sortDescriptors:[NSSortDescriptor(键:“title”,升序:true)])
私有变量主题:FetchedResults
...
}
我应该怎么做才能解决这个问题?我想签名应该是
func currentTopics(subject: Subject, topics: FetchedResults<Topic>) -> Set<Topic> {
func currentTopics(主题:主题,主题:FetchedResults)->Set{
您可以将FetchedResults更改为Set吗?然后引发另一个错误:无法将类型“Set”的值转换为指定类型“FetchedResults”
然后出现下一个问题:泛型结构“ForEach”要求“Set”符合“RandomAccessCollection”
在我的ForEach循环中强制转换到数组帮助!!:)…数组(currentTopics(subject:subject,topics:topics))
这是不同的错误…如果您无法编译代码,请完全提供它。