字符串引用计数详解

1.当使用字符串常量生成NSString对象,例如字面量、+ stringWithString:、- initWithString:方法时,生成的NSString对象为__NSCFConstantString类型,且计数为整数最大值,并一直存在于内存中。

2.当使用格式化字符且字符中包含非ASCII字符生成NSString对象,例如+ stringWithFormat:、- initWithFormat:时。生成的NSString为__NSCFString类型,且遵循引用计数规则。

3、当使用格式化字符且只包含ASCII字符生成NSString对象时:

    1.字符数在0-7之间,生成NSTaggedPointerString对象并计数为整数最大值且一直存在内存中。

    2.字符数在8-9时,字符全部在6位编码表中时,生成NSTaggedPointerString对象并计数为整数最大值且一直存在内存中。

    3.字符数在8-9时,字符存在不在6位编码表中时,生成的NSString为__NSCFString类型,且遵循引用计数规则。

    4.字符数在10-11时,字符全部在5位编码表中时,生成NSTaggedPointerString对象并计数为整数最大值且一直存在内存中。

    5.字符数在10-11时,字符存在不在5位编码表中时,生成的NSString为__NSCFString类型,且遵循引用计数规则。

    6.字符数大于11时,生成的NSString为__NSCFString类型,且遵循引用计数规则。

---------------------


原文:https://blog.csdn.net/TuGeLe/article/details/81457559

版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(字符串引用计数详解)