在MRC模式下,如果不在自动释放池里的话,任何对象都需要自己去调用release方法
但是作为NSString也是一个对象,那么我们平时创建一个字符串的话也是相当于创建了一个NSString对象
当我们不去使用这个字符串的时候,我们理所当然就应该把这个对象销毁掉
我创建了一个NSString分类,并对dealloc方法进行重写
- -(void)dealloc{
-
- NSLog(@"is over");
-
- [super dealloc];
- }
复制代码 然后在main函数里面去执行
- #import <Foundation/Foundation.h>
- #import "Person.h"
- int main(int argc, const char * argv[]) {
-
- NSString* str =@"asc";
-
- [str release];
- return 0;
- }
复制代码 发现并不会执行NSString的一个dealloc方法
________________________________________________________________________________________
__________这个究竟是为什么呢???难道上面那个字符串是在常量区不用销毁??
________________________________________________________________________________________
|
|