Когда мое приложение запускается и создается первый контроллер представления, также создается новый вспомогательный NSManagedObject.На данный момент я НЕ сохранил контекст (и я начал с нового, пустого постоянного хранилища).
Пользователь может перейти к другому экрану, который покажет сообщение, если нет сохраненных элементов или, еслисохраненные элементы существуют, он покажет список элементов.Вот как я проверяю сохраненные элементы:
func checkForSavedItems() -> Bool {
var itemsDoExist = false
let fetchRequest = NSFetchRequest<NSNumber>(entityName: "Items")
fetchRequest.includesPendingChanges = false
fetchRequest.resultType = .countResultType
do {
let countResult = try context.fetch(fetchRequest)
itemsDoExist = countResult.first!.intValue > 0
} catch let error {
print(error)
}
return itemsDoExist
}
Я ожидал, что fetchRequest.includesPendingChanges = false
гарантирует, что новый объект, который не был сохранен, не будет засчитан, но это так.Счетчик возвращается как 1, поэтому он должен подсчитывать элементы в NSManagedObjectContext
. Это также предполагает, что запрос на выборку возвращает количество элементов в контексте, а не в постоянном хранилище.
Как я могу получить реальное количество предметов в постоянном магазине?
Спасибо