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))
这是不同的错误…如果您无法编译代码,请完全提供它。