黑马程序员技术交流社区
标题:
OC中MRC内存管理问题
[打印本页]
作者:
曦正
时间:
2016-2-22 18:14
标题:
OC中MRC内存管理问题
在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方法
________________________________________________________________________________________
__________这个究竟是为什么呢???难道上面那个字符串是在常量区不用销毁??
________________________________________________________________________________________
作者:
一个疯子
时间:
2016-2-24 00:43
nsstring是oc的基础数据类型,并没有retainCount
作者:
曦正
时间:
2016-2-24 17:59
这样吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2