Основные данные - добавление нескольких дочерних объектов в массив - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь создать приложение списка дел.

Пока у меня есть объект для хранения категорий.В рамках категории сущность имеет 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.

. Любая помощь по добавлению различных дочерних объектов в один и тот же массив будет принята с благодарностью.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...