NSFetchedResultsController возвращает пустые разделы - PullRequest
0 голосов
/ 20 июня 2020

Я использую NSFetchedResultsController, в котором вообще нет содержимого при запуске моего приложения. Однако, NSFetchedResultsController возвращает один раздел - без объектов в нем. Я ожидаю, что у меня будет нулевой раздел.

Вот инициализация NSFetchedResultsController:

func initializeFetchedResultsController() {
    let request = NSFetchRequest<List>(entityName: "List")
    let nameSort = NSSortDescriptor(key: "name", ascending: true)
    request.sortDescriptors = [nameSort]
    
    let predicate = NSPredicate(format: "markedAsDeleted == %@", NSNumber(value: false))
    request.predicate = predicate
    
    let context = self.appDelegate.persistentContainer.viewContext
    self.fetchedListsController = NSFetchedResultsController(fetchRequest: request, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
    self.fetchedListsController.delegate = self
    
    do {
        try self.fetchedListsController.performFetch()
        debugPrint ("Got \(self.fetchedListsController.fetchedObjects?.count ?? 0) lists")
    } catch {
        fatalError("Failed to initialize fetchedListsController: \(error)")
    }
}

Установка точки останова в numberOfSections моего tableView для проверки sectionInfo:

(lldb) p sections[0]
(NSObject) $R2 = 0x00007b100006b000 {
  baseNSObject@0 = {
    isa = _NSDefaultSectionInfo
  }
  _controller = 0x00007b24000030f0
  _name = nil
  _indexTitle = nil
  _sectionOffset = 0
  _numberOfObjects = 0
  _oldSectionNumber = 0
  _sectionObjects = nil
}

Вы можете видеть, что NSFetchedResultsController сообщает об одном разделе без объектов в нем (_numberOfObjects = 0).

Нет объектов, что верно, но почему я получаю пустой раздел, а не его вообще?

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