OC中NSString对象的引用计数

废话不多说,先上图

OC中NSString对象的引用计数

NSString对象的retainCount是一件很蛋疼的事情

一,先看NSString对象的构造方法,通过initWithString或者stringWithString构造的,retainCount都为-1.

二,通过allocWithFormat或者stringWithFormat构造的NSString对象又分为三种情况,如果拼接上的字符串为汉语字符串,retainCount为1,也就是说和我们的普通的OC对象一样可以retain,release。如果拼接上的字符串为英文字符串,就得根据字符串的长度来判断,如果字符串的长度大于10,retainCount就为1,可以retain或者release;如果字符串长度小于10,那么retainCount就为-1.

最后,深表蛋疼