ios - 获取请求 "unrecognized selector"错误

标签 ios swift swiftui

我有两个实体,一个叫做项目,一个叫做任务,项目可以有很多任务。我有一个获取请求,它应该获取与项目关联的所有任务,但是在点击项目以移动到包含项目任务的 View 时出现此错误:

Thread 1: Exception: "-[__NSConcreteUUID longLongValue]: unrecognized selector sent to instance 0x600002969b20"
这是我的两门课:
extension ProjectItem {
    @NSManaged public var projectId: UUID
    @NSManaged public var projectTitle: String
    @NSManaged public var task: NSSet
}

extension TaskItem {
    @NSManaged public var id: UUID
    @NSManaged public var isComplete: Bool
    @NSManaged public var title: String
    @NSManaged public var project: ProjectItem?
}
这是我的 View 和获取请求:
struct ProjectDetail: View {
    @Environment(\.managedObjectContext) var managedObjectContext
    @ObservedObject var projectItem: ProjectItem
    
    private var tasksInProject: FetchRequest<TaskItem>
    private var taskItems: FetchedResults<TaskItem> { tasksInProject.wrappedValue }
    
    init(_ project:ProjectItem) {
        self.projectItem = project


        self.tasksInProject = FetchRequest(
            entity: TaskItem.entity(),
            sortDescriptors: [NSSortDescriptor(keyPath: \TaskItem.createdDate, ascending: false)],
            predicate: NSPredicate(format: "project == %@", project.projectId as CVarArg))
    }

...

var body: some View {
    ForEach(taskItems, id:\.id) { taskItem in
        Text("\(taskItem.title)")
    }
}
请帮忙!一个多星期以来,我一直在为此拔头发。

最佳答案

TaskItem.projectProjectItem? 的类型不是UUID,所以试试

self.tasksInProject = FetchRequest(
    entity: TaskItem.entity(),
    sortDescriptors: [NSSortDescriptor(keyPath: \TaskItem.createdDate, ascending: false)],
    predicate: NSPredicate(format: "project.projectId == %@", project.projectId as CVarArg))

关于ios - 获取请求 "unrecognized selector"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62926561/

相关文章:

ios - UI 导航栏白色 Blob 外观

ios - 在 iOS 应用程序的/Documents/文件夹中提供初始文件

ios - 获取上个月的天数

directory - 使用 NSOutlineView 作为文件系统目录浏览器的 Swift 代码

ios - SwiftUI:工作表无法在第一次显示正确的值

swift - 参数类型 'xxx' 不符合预期类型 '_FormatSpecifiable'

ios - 来自 SCCAPIResponse 的付款信息

ios - 如何使用 Objective-C 用两个 NSMutableArray 填充可扩展 TableView

ios - UITextField 与 UISearchBar?

xcode - SwiftUI 中 watchOS 的 NavigationBarTitle 颜色更改