9
votes

Obtenir un nombre d'enregistrements dans une entité de données de base

Est-ce que quelqu'un connaît une fonction ou une propriété existante qui fournit un nombre d'enregistrements dans une entité de données principale?


1 commentaires

Voici la solution pour Derniers Comers: Stackoverflow.com/questions/1134289/...


3 Réponses :


15
votes

Je crois que la meilleure façon d'accomplir est via NsmaniedObjectContext's < Code> CountForFetchRequest: Erreur:

Cela fonctionne comme une demande de récupération régulière, sauf que cela ne renvoie que le nombre de comptes et pourrait probablement être plus optimisé.


5 commentaires

Il est définitivement plus optimisé.


@MARCUS: Oui, la raison pour laquelle je suis couverte, il y a simplement parce que je n'ai pas utilisé tous les magasins de soutien et qu'il est possible qu'il y en ait un où il n'y a pas de raccourci disponible pour le compte.


Le nombre est toujours plus efficace, même sur un magasin XML (le magasin le moins performant) car il ne construit pas des objets à la suite de la récupération.


On dirait que le lien est cassé. Pouvez-vous s'il vous plaît le mettre à jour?


@Vishal je viens de faire. Mais vous pouvez éditer de vieux messages pour le faire aussi! C'est juste Une recherche Google ... .



7
votes
   func getRecordsCount() {
        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: _entityName)
        do {
            let count = try context.count(for: fetchRequest)
            print(count)
        } catch {
            print(error.localizedDescription)
        }
    }

0 commentaires

0
votes

Je crois que la meilleure façon d'obtenir NumberOfData est

func getNumberofData(){
        let userFetchRequest = NSFetchRequest<NSNumber>(entityName: "entityName")

        userFetchRequest.resultType = .countResultType
        do {

            let counts: [NSNumber] = try! context.fetch(userFetchRequest)
            let count = counts[0]
        }
    }


0 commentaires