Where are constant NSStrings allocated?
-
03-10-2019 - |
Question
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?
Solution
Constant NSStrings are of class NSConstantString
, and thus act like atoms in lisp; they hang around. -> NSConstantStrings
are 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 NSConstantStrings
even have a retain count is because they inherit from NSObject
.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow