我正在尝试构建一个待办事项列表应用程序 .

到目前为止,我有一个存储类别的实体 . 在类别实体内,它有3个关系 . 一个到任务实体,一个到事件实体,一个到提醒实体 .

在我的应用程序中,我希望能够进入一个类别并看到一个充满任务,提醒和事件的 tableView .

到目前为止,我的 tableView 只有一个子实体 . 这样做通过以下代码完成:

func loadEvents(with request: NSFetchRequest<Event> = Event.fetchRequest()) {
    let predicate = NSPredicate(format: "parentCategory.name MATCHES %@", selectedCategory!.name!)
    request.predicate = predicate

    do {
        itemsArray = try context.fetch(request)
    } catch {
        print(error)
    }

    print(itemsArray)
    tableView.reloadData()
}

当我尝试将所有3个子类型添加到同一个数组时,会发生此问题 . 表格视图中没有显示任何内容 . (我在表格视图中也支持多种单元格类型 . )

我试过这段代码:

func loadItems(with request: NSFetchRequest<Task> = Task.fetchRequest()) {
    itemsArray = []

    let taskRequest: NSFetchRequest<Task> = Task.fetchRequest()
    let predicate = NSPredicate(format: "parentCategory.name MATCHES %@", selectedCategory!.name!)
    taskRequest.predicate = predicate

    let eventRequest: NSFetchRequest<Event> = Event.fetchRequest()
    eventRequest.predicate = predicate

    do {
        itemsArray.append(try context.fetch(taskRequest))
        itemsArray.append(try context.fetch(eventRequest))
    } catch {
        print(error)
    }

    print(itemsArray)
    tableView.reloadData()
}

但我的表视图显得空洞 . 我的数组也是 Any 的数组 .

任何有关如何将不同子实体添加到同一阵列的帮助将不胜感激 . :)