Я использую 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
).
Нет объектов, что верно, но почему я получаю пустой раздел, а не его вообще?