core-data - 无法转换“NSSet”类型的值?到预期的参数类型'范围'(使用 CoreData)
问题描述
使用 CoreData 我不知道如何解决这个问题:
错误:Cannot convert value of type 'NSSet?' to expected argument type 'Range<Int>'
private func displayTopics(subject: Subject) -> some View {
NavigationView {
Form {
List {
ForEach(subject.topics) { topic in
NavigationLink(
destination: Text("Destination"),
label: {
Text("Navigate")
})
}
}
}
}
我应该怎么办?
解决方案
ForEach 不明白NSSet
,你必须把它转换成数组:
if subject.topics != nil {
ForEach(Array(subject.topics! as Set), id: \.self) { topic in
NavigationLink(
destination: Text("Destination"),
label: {
Text("Navigate")
})
}
}
推荐阅读
- javascript - 为什么我的客户端在 jquery 更新(从 1.11.2 到 3.5.1)后没有收到带有 SignalR 的广播消息?
- asp.net - 识别混淆/加密方法
- angular - 嵌套 ControlValueAccessor 的角度验证状态未在父级中正确传播,如何实现此验证?
- javascript - 在地图中取属性的值,但在javascript中使用不同属性的名称
- javascript - VSCode CompletionItems 显示在列表底部
- android - Android Studio 下载音乐 youtube 视频
- git - 我可以使用本地 ssh 密钥对 github 进行身份验证,但仍然会出现烦人的 github 弹出窗口以请求登录用户,通过
- python - 初学者 Python - 在 true if 语句之后期望用户输入
- swift - 在 SwiftUI 中观察 PassthroughSubject 中的错误
- ios - 错误域 = NSPOSIXErrorDomain 代码 = 2“没有这样的文件或目录”