32 votes

Quelle est la longueur maximale d'un objet NSString?

Quelle est la durée maximale de la taille de la chaîne qui peut être tenu dans une NSString objet?

Ce changement de façon dynamique?

62voto

Spencer Uresk Points 2390

Je suppose que la limite maximale pour l'NSString serait NSUIntegerMax personnages, depuis NSString de l'index et de la taille relative des méthodes de retour d'un NSUInteger. Depuis tous les appareils actuellement capable d'exécuter iOS sont en 32 bits, ce qui signifie NSUIntegerMax est de 2^32 - 1 et NSString peut contenir un peu plus de 4,2 milliards de caractères.

Comme d'autres l'ont souligné, toutefois, que la limite pratique est beaucoup plus petite sur un appareil iOS en particulier, vous serez à court de mémoire à long avant que vous appuyez sur une dure limite dans NSString.

8voto

sergio Points 52422

NSString est en fait une classe-cluster, il est donc très possible que les différentes classes de béton (par exemple, NSString vs NSMutableString) va nous faire différents "supports de sauvegarde" pour le stockage des données. Vous pourriez même sous-classe NSString et fournir votre propre magasin de sauvegarde mise en œuvre, pour des besoins spécifiques que vous pourriez avoir (regardez "sous-classement des Notes" pour NSString).

Pour ce qui de mémoire de sauvegarde est en fait utilisée par NSString, c'est un détail d'implémentation qui n'est pas documentée par Apple, et il peut modifier à tout moment.

Pour moi, je suppose que la longueur maximale d'un NSString est uniquement limité par la mémoire disponible. En fait, depuis que la mémoire disponible peut être vraiment énorme, il y aura quelques autres limite (peut-être liées à la performance), mais je n'ai jamais engagés dans une telle limite.

3voto

Kumar Points 436

Il peut tenir à peu près autant de mémoire que peut être représenté par un système de mémoire virtuelle. Mais personnellement, je pense que la longueur maximale est limitée uniquement à toute la mémoire disponible à ce moment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X