读书人

NSString retainCount的一个非常有意思

发布时间: 2012-08-29 08:40:14 作者: rapoo

NSString retainCount的一个非常有意思的问题.

一直以来发现对copy和retain的区别还是觉得有点糊涂,,今天晚上花时间来研究这个问题.

最后问题是解决了,但是发现了个特别有意思的问题.看下面,

?

??? NSString *str = [NSString stringWithString:@" hello world"];
??? [str retain];
??? NSLog(@"str retain count = %u",[str retainCount]);

?

我想通过上面的代码看看retain后的str这个变量的retainCount,但是我发现不管有没有retain str,,结果总是: 2147483647

为什么呢??

第一反应, 2147483647这个数应该是 UINT_MAX ( Maximum value an `unsigned int'),但是为什么是它呢?

?

google了一下,有很多说法,比如

http://stackoverflow.com/questions/1390334/nsstring-retain-count

http://stackoverflow.com/questions/403112/objective-c-nsstring-property-retain-count-oddity

?

给出你的答案吧.

读书人网 >网络基础

热点推荐