OVH Cloud OVH Cloud

Nombre d'enregistrements

4 réponses
Avatar
dbourni
Bonjour,

Je d=E9veloppe en Objective-C / Cocoa avec XCode 2.
J'ai fait une Entity (genre de table) qui comporte toute une s=E9rie de
Properties. Pas de probl=E8me.
Comme faire, dans le code de mon appli, pour connaitre le nombre
d'enregistrements que comporte mon Entity ?

Merci d'avance.

4 réponses

Avatar
ftestuz
dbourni wrote:

Bonjour,

Je développe en Objective-C / Cocoa avec XCode 2.
J'ai fait une Entity (genre de table) qui comporte toute une série de
Properties. Pas de problème.
Comme faire, dans le code de mon appli, pour connaitre le nombre
d'enregistrements que comporte mon Entity ?


Tu peux bien sûr faire une requete sur toutes tes entités et les
compter. Mais tu vas tout charger en mémoire. Par contre ce sera facile
à programmer.

request=[[NSFetchRequest alloc] init];
[request setEntity:myEntity];
resultArray=[myManagedObjectContext executeFetchRequest:request
error:&error];
if (error!=nil) count=[resultArray count];

Ensuite j'espère qu'il y a une autre solution, en spécifiant le
predicate sur la requête (qui permettra par conséquent une optimisation
pour les données enregistrées en format sqlite). Mais comme ça, je n'ai
pas de solution en code.

Par contre, si tu utilises un NSArrayController, tu peux aussi avoir
[[myArrayController arrangedObjects] count];

--
Frédéric Testuz
<mailto:

Avatar
dbourni
Effectivement, avant je parcourais tout pour compter, mais ca faisait
bouger le pointeur et c'était assez lent.
La méthode avec le NSArrayController est pour moi la meilleure car il
existe déjà (créé dans IB) et je l'utilise aussi pour lire et
ecrire les données.
Avatar
ftestuz
dbourni wrote:

Effectivement, avant je parcourais tout pour compter, mais ca faisait
bouger le pointeur et c'était assez lent.
La méthode avec le NSArrayController est pour moi la meilleure car il
existe déjà (créé dans IB) et je l'utilise aussi pour lire et
ecrire les données.


Bien, mais fait attention si tu rajoutes un filtre sur le
NSArrayController. La méthode arrangedObjects ne renverra plus que les
objets filtrés et donc le compte ne correspondra plus au nombre total
d'objets.

--
Frédéric Testuz
<mailto:

Avatar
dbourni
C'est aussi ce qui m'interresse ;-)
En effet je fais des statistiques et l'utilisateur pourra ainsi les
faire même après avoir appliqué un filtre.
Merci beaucoup pour ton aide.