Используя SwiftUI (2021) XCode 13.1 / iOS 14.5+ и основные данные, я пытаюсь получить наиболее эффективное общее количество внутри объекта.
Это с точки зрения SQL похоже на получение общего количества строк из таблицы.
Сущность никогда не будет содержать много "строк", вероятно, никогда не более 40.
Я прогуглил множество примеров (в том числе здесь), но некоторые из них старые, и большинство из них не работают. Похоже, это как-то связано с countForFetchRequest, но в этом я не уверен на 100%.
Я уже настроил контейнер и сущность, которые просто содержат поле идентификатора и текстовое поле.
Я все еще новичок в Основных данных, поэтому, надеюсь, у меня правильная терминология, но из различных примеров я пришел к следующему. (отмечая, что мне нужно, чтобы данные сохранялись после закрытия приложения).
import CoreData
class FooCoreDataService {
private let container: NSPersistentContainer
private let containerName: String = "FooCoreDataModel"
private let entityName: String = "FooEntity"
init() {
container = NSPersistentContainer(name: containerName)
container.loadPersistentStores { (_, error) in
if let error = error {
print("Error loading Core Data! \(error)")
}
}
}
// Get total item ('Row') count of FooEntity
func getFooCount() -> Int {
var countOfItems: Int = 0
// NOT SURE WHAT GOES HERE
let fetchRequest = NSFetchRequest ????
// SOMETHING TO DO WITH countForFetchRequest ????
return countOfItems
}
}