黑马程序员技术交流社区
标题:
关于@autorelease 和ARC的问题
[打印本页]
作者:
香草芭芙
时间:
2015-5-14 10:08
标题:
关于@autorelease 和ARC的问题
当关闭ARC的时候
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
Person * p1 = [[[Person alloc] init] autorelease];
p1.age = 10; //对象没有释放.
@autoreleasepool {
Person * p2 = [[[Person alloc] init] autorelease];
p2.age = 20; //对象释放.
}
//疑问: autorelease 必须配合 autoreleasepool 使用吗? 而且还有@autoreleasepool的嵌套使用, 这怎么掌握 T.T
//把所有代码都写在@autoreleasepool里面 这样做对吗? 会有什么安全隐患?
return 0;
}
复制代码
作者:
天是蓝色的
时间:
2015-5-14 10:15
必须得相互配合:autorelease 必须配合 autoreleasepool,可以嵌套使用!就知道这么多
作者:
cogddo
时间:
2015-5-14 16:48
autorelease 必须配合 autoreleasepool 使用,嵌套就跟{}代码块中局部变量作用域类似的,真正开发IOS时,你是不会把所有都写到main函数的,也就是不会都写到autoreleasepool中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2