我知道恒定的Cstring是静态分配的,而不是在堆上分配。

我还注意到恒定的NSString具有无限的保留计数。恒定的NSString也是静态分配而不是在堆上分配的,是否认为恒定的NSSTRING确实认为吗?

有帮助吗?

解决方案

恒定的NSString是班级的 NSConstantString, ,因此在LISP中像原子一样起作用;他们闲逛。 - > NSConstantStrings 在静态上分配。 也就是说,如果您使用 @"cow" 在您的代码中的两个单独的位置中,他们将引用非常相同的对象。

之所以 NSConstantStrings 甚至保留计数是因为它们从 NSObject.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top