无法转换“NSSet”类型的值?到预期的参数类型'Range<Int>'(使用CoreData)

Posted

技术标签:

【中文标题】无法转换“NSSet”类型的值?到预期的参数类型\'Range<Int>\'(使用CoreData)【英文标题】:Cannot convert value of type 'NSSet?' to expected argument type 'Range<Int>' (using CoreData)无法转换“NSSet”类型的值?到预期的参数类型'Range<Int>'(使用CoreData) 【发布时间】:2020-11-23 18:09:29 【问题描述】:

使用 CoreData 我不知道如何解决这个问题:

错误:Cannot convert value of type 'NSSet?' to expected argument type 'Range&lt;Int&gt;'

private func displayTopics(subject: Subject) -> some View 
    NavigationView 
        Form 
            List 
                ForEach(subject.topics)  topic in
                    NavigationLink(
                        destination: Text("Destination"),
                        label: 
                            Text("Navigate")
                    )
                
            
        
    

我该怎么办?

【问题讨论】:

【参考方案1】:

ForEach 看不懂NSSet,得转成数组:

if subject.topics != nil 
    ForEach(Array(subject.topics! as Set), id: \.self)  topic in
        NavigationLink(
            destination: Text("Destination"),
            label: 
                Text("Navigate")
        )
    

【讨论】:

如何访问“主题”的属性“标题”? ...“NSObject”类型的值没有成员“title” 你没有展示 topics 里面的东西,这是你的模型......这是不同的问题。 我们应该如何进行? ***.com/questions/64975300/…

以上是关于无法转换“NSSet”类型的值?到预期的参数类型'Range<Int>'(使用CoreData)的主要内容,如果未能解决你的问题,请参考以下文章

无法转换类型“(_)-> Void?”的值到预期的参数类型'(() - > Void)?

无法转换类型“[String : AnyObject]?”的值到预期的参数类型“[NSAttributedStringKey:Any]?”

无法转换“CGPoint!”类型的值到预期的参数类型'UnsafeMutablePointer<CGPoint>'

无法转换类型“Meme!”的值到预期的参数类型'@noescape (Meme) throws -> Bool'

SwiftUI Toggle 无法转换“Bool”类型的值?到预期的参数类型 'Binding<Bool>'

无法转换类型“字典<String, Any>?”的值?到预期的参数类型“数据”