SwiftUI obtener el total del elemento (fila en SQL términos), a contar desde Datos Básicos de la entidad [duplicar]

0

Pregunta

El uso de SwiftUI (2021) XCode 13.1 / iOS 14.5+ y los Datos de los núcleos estoy tratando de conseguir la más eficaz recuento total dentro de una entidad.

Este de un SQL perspectiva es como tener el número total de filas de una tabla.

La Entidad nunca va a contener muchos 'filas' probablemente nunca más de 40.

He buscado en Google un montón de ejemplos (incluyendo aquí), pero algunos son antiguos y la mayoría no funcionan. Parece ser algo que ver con countForFetchRequest pero en el que yo no estoy 100% seguro.

Ya he configurado el contenedor y la entidad que simplemente contiene un campo de id y un campo de texto.

Todavía estoy nuevo a los Datos de los núcleos y espero tener la terminología correcta, pero a partir de varios ejemplos, esto es lo que he venido para arriba con. (señalando necesito los datos para persistir después de la aplicación está cerrada).

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
    }

}
core-data entity nsfetchrequest swift
2021-11-23 00:18:54
1

Mejor respuesta

0

Es esto lo que usted necesita?

static func getFooCount() -> Int {
   let object = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
   let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Product")
   let countOfItems = try! object.count(for: fetchRequest)
   return countOfItems
}
2021-11-23 04:22:52

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................