I understand that constant CStrings are allocated statically, rather than on the heap.
I also noticed that constant NSStrings have an infinite retain count. Does it hold true that constant NSStrings are also allocated statically, rather than on the heap?
Constant NSStrings are of class
NSConstantString, and thus act like atoms in lisp; they hang around. ->NSConstantStringsare allocated statically. That is, if you use@"cow"in two separate places in your code, they will be referencing the very same object.The reason why
NSConstantStringseven have a retain count is because they inherit fromNSObject.