1

Je comprends que les CStrings constants sont alloués statiquement, plutôt que sur le tas.Où sont affectés les NSStrings constants?

J'ai également remarqué que les NSStrings constants ont un nombre de rétention infini. Est-il vrai que les NSStrings constants sont également alloués statiquement, plutôt que sur le tas?

Répondre

2

Les NSStrings constants sont de la classe NSConstantString et agissent ainsi comme des atomes en lisp; ils traînent. ->NSConstantStrings sont alloués statiquement. En d'autres termes, si vous utilisez @"cow" à deux endroits différents dans votre code, ils référenceront le même objet.

La raison pour laquelle NSConstantStrings a même un nombre de retenue est parce qu'ils héritent de NSObject.

+1

Merci beaucoup! Cela a du sens. –

Questions connexes