我正在尝试构建一个待办事项列表应用程序 .
到目前为止,我有一个存储类别的实体 . 在类别实体内,它有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
的数组 .
任何有关如何将不同子实体添加到同一阵列的帮助将不胜感激 . :)