2009-10-30 9 views
0

Lorsque je remplis le encodeWithCoder: pour des classes d'objectifs c pour une application iPhone, cela rendra-t-il le fichier d'archive plus grand si j'utilise des touches longues pour toutes mes variables?Des clés plus longues rendront un fichier NSKeyedArchiver significativement plus long

Par exemple, si j'utilise les touches très longues comme ceci:

[coder encodeBool:myBoolean forKey:@"My_Excesively_Long_Boolean_Key"]; 

va en faire le fichier d'archive plus que si j'utilise des trucs comme ça:

[coder encodeBool:myBoolean forKey:@"Key01"]; 

En supposant que j'ai un grand nombre d'ints et BOOLs.

+0

Cela semble vous inquiéter de quelque chose qui n'aura pas d'importance. – nall

+0

Cela semble que vous avez passé plus de temps à poster sur quelque chose que ce qu'il aurait fallu pour l'essayer et voir par vous-même. –

+0

Bon point. En faisant un peu de calcul approximatif, j'aurais du mal à obtenir une valeur de méga-octets dans le pire des cas. – Jamvert

Répondre

1

À moins que vous n'ayez des centaines de milliers de clés, vous n'observez aucune augmentation de taille notable. Sur les systèmes modernes, le texte est trivial. Vous pourriez stocker des dizaines de milliers de clés dans un couple de megs.

L'utilisation de clés longues, de constantes, de noms de classes, d'ivars, etc. est fortement encouragée en raison de l'espace de nom ouvert d'Objective-C.

+0

Cela a du sens. Merci:) – Jamvert

0

Plus la taille de l'archive augmente, plus le temps de restauration dans la structure de données est long. La taille de vos archives est trop petite par rapport à la taille de la mémoire flash disponible ces jours-ci (en 2011)