黑马程序员技术交流社区
标题:
今天学习了arc有些疑问
[打印本页]
作者:
yolande
时间:
2016-1-1 23:12
标题:
今天学习了arc有些疑问
在arc模式下,我对自己建立的类Person 建立一个类方法 person
+ (instancetype)person {
return [[self alloc]init];
}
复制代码
重写 delloc方法
- (void)delloc {
NSLog(@"人死了");
}
复制代码
然后我在main函数中 创建一个对象 Person *p = [Person person];
然后函数结束后,居然不会出现
"人死了"
后来发现,必须在
自动释放池
中才会自己释放掉这段空间.
是不是new方法 实现了神马不一样的操作...还是说它自动释放了一次?
作者:
15223245
时间:
2016-1-4 18:58
[Person new]和[[Person alloc] init] 是一样的。
前者是比较老的写法,后来苹果看new 不够用于是就出现了 [ClassName alloc] init].
在ARC 中代码必需在 @autoreleasepool { }中 Xcode 在编译时才会添加上内存管理的代码, 你没写在@autoreleasepool { }中内存就不会被释放掉,也就不会执行delloc
作者:
xiaoku___
时间:
2016-1-16 19:22
谢谢分享。。。
作者:
笑声不断
时间:
2016-1-16 19:25
好/////
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2