天天看点

NSString 内存管理问题

NSString 是objective-c里 继承自NSObject的一个管理字符串的类。

它是immutable的

所以,在代码中赋值@“”类型字符串相当于赋值一个constant变量,这里,你把它理解为一个autorelease也好,不这么理解也罢,因为无论怎么理解,它的retainCount是UNIT_MAX的。

看到stackoverflow里一个程序员说得,不要去考虑retainCount,只要管好自己的内存分配和释放,也就是说

如果你把@“”赋值给你自己一个希望全局能用得NSString类型property变量,retain一次,最后release一次,是不会有任何问题的。

至于底层系统如何handle,交给系统去吧!

内存管理是objective-c开发iPhone的大重要问题,需要认真对待,但不能走牛角尖才是。

努力继续了解!!

参考两个网址:http://stackoverflow.com/questions/403112/objective-c-nsstring-property-retain-count-oddity

http://www.cocoadev.com/index.pl?NSString

进一步去了解吧:)