您当前的位置: 首页 >  清风清晨 ar

【ARC机制下单个对象的内存管理 Objective-C语言】

清风清晨 发布时间:2022-08-21 22:56:18 ,浏览量:3

前言

1)ARC下的单个对象的内存管理
在ARC的机制下,当1个对象没有任何的强指针指向它的时候,这个对象就会被立即回收。
什么时候1个对象就没有强指针指向它了呢?
例如:有一个Person类
@interface Person : NSObject
@end

@implementation Person
– (void)dealloc
{
NSLog(@“人挂了。。。”);
}
@end

#import
#import “Person.h”
int main()
{
if(1)
{
Person *p1 = [Person new];
__weak Person *p2 = p1 ;
}
return 0;
在if语句的大括弧结束的时候,强指针p1和弱指针p2就都被销毁了,没有强指针指向Person对象了,Person对象就被销毁了。
2)在例如:
int main()
{
__weak Person *p2 = nil;
if(1)
{
Person *p1 = [ Person new];
p2 = p1;
}
return 0;
}
if语句的大括弧结束的时候,强指针p1被销毁了,弱指针p2还没被销毁,Person对象没有强指针指向它了,也就被销毁了。。。

关注
打赏
查看更多评论

清风清晨

暂无认证

  • 3浏览

    0关注

    70博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录