2010-09-05 8 views
0
NSString *string = @"hello"; 

1) Je continue à lire que NSString constante ne soit pas libéré, mais cette page d'Apple, mentionne les:libération constante de NSString

le compilateur fait cet objet constantes unique sur une base par module , et ils ne sont jamais libérés, bien que vous puissiez les conserver et les libérer comme vous le faites pour tout autre objet.

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/strings/Articles/CreatingStrings.html

2) Si NSString constante ne soit pas libéré, serait-il causer des problèmes de mémoire si largement utilisé? Par exemple, est-ce un problème si répété des milliers de fois:

NSString *string = @"One"; 
... 
string = @"two"; 
... 
string = @"three"; 
... 

quelle est une bonne alternative?

Répondre

1

Les chaînes constantes font partie du binaire de votre application. Par conséquent, vous n'avez pas besoin de vous soucier de la gestion de la mémoire, car ils existent tout au long de l'exécution et ne peuvent pas être libérés.