Заполните разделы табличного представления с помощью CoreData и Array - PullRequest
1 голос
/ 29 апреля 2019

Я хочу заполнить свой табличный вид несколькими папками (аналогично экрану структуры папок в приложении Apple Notes). Я хочу, чтобы первый элемент на экране телевизора представлял собой ячейку, которая приводит к объединению всего содержимого из других папок. Я могу отобразить все папки, но у меня возникают проблемы при попытке определить, как отобразить папку «комбинированное содержимое». Все отдельные папки создаются в CoreData и передаются через NSFetchedResultsController.

Я создал массив только из одного экземпляра папки, чтобы использовать его в качестве объекта для комбинированной папки. У меня есть следующий код, чтобы попытаться создать 2 раздела (1 для комбо, другой для отдельных папок), но на данный момент он показывает только то, что я положил в случае 0. Я иду по этому пути правильно?

func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
    case 0:
        return comboFolder.count
    case 1:
        return fetchedRC.fetchedObjects?.count ?? 0
    default:
        return 0
    }
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "folderCell", for: indexPath) as! FolderTableViewCell

    switch indexPath.section {
    case 0:
        let folder = comboFolder[indexPath.row]
        cell.updateComboFolder(with: folder)
    case 1:
        let folder = fetchedRC.object(at: indexPath)
        cell.update(with: folder)

    default:
        print("default")
    }
    return cell
 }

1 Ответ

0 голосов
/ 30 апреля 2019

Вот пример проекта с базовой настройкой - https://github.com/nambatee/CombinedFolders1

Хитрость в том, чтобы настроить indexPath. Вы работаете с 2 разделами, но ваш NSFetchedResultsController знает только 1 раздел. Поэтому вам нужно быть осторожным, чтобы не спрашивать NSFetchedResultsController об объектах в разделе с индексом 1.

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