SwiftUI total (item de linha no SQL termos) a contagem a partir de Dados do Núcleo de entidade [duplicado]

0

Pergunta

Usando SwiftUI (2021) XCode 13.1 / iOS 14.5+ e Dados básicos estou tentando chegar o mais eficiente contagem total dentro de uma entidade.

Isso a partir de um SQL perspectiva é como obter o número total de linhas de uma tabela.

A Entidade nunca vai conter muitos 'linhas', provavelmente nunca mais de 40.

Eu Pesquisei um monte de exemplos (incluindo aqui), mas alguns são antigos e a maioria não funciona. Parece ser algo a ver com countForFetchRequest mas que eu não tenho 100% de certeza.

Eu já configurou o recipiente e a entidade que simplesmente contém um campo de id e um campo de texto.

Eu ainda sou novo para o Core Data, pelo que espero ter a terminologia correta, mas a partir de vários exemplos, isso é o que eu vim acima com. (lembrando que eu preciso de dados para persistir depois que o aplicativo é fechado).

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

Melhor resposta

0

É isso o que você precisa?

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

Em outros idiomas

Esta página está em outros idiomas

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