我知道常量CStrings是静态分配的,而不是堆上的。
我还注意到,常量NSStrings具有无限的保留计数。是否仍然可以静态分配常量NSStrings,而不是在堆上?
答案 0 :(得分:2)
常量NSStrings属于类NSConstantString
,因此就像lisp中的原子一样;他们到处闲逛。 - > NSConstantStrings
是静态分配的。也就是说,如果您在代码中的两个不同位置使用@"cow"
,则它们将引用同一个对象。
NSConstantStrings
甚至有保留计数的原因是因为它们继承自NSObject
。