您当前的位置: 首页 >  清风清晨 objective-c

【使用自动释放池 autoreleasepool的八大注意 Objective-C语言】

清风清晨 发布时间:2022-08-18 16:06:47 ,浏览量:2

前言

使用自动释放池的八大注意:
例如,有一个Person类:
#import
@interface Person : NSObject
@property(nonatomic,retain)NSString *name;
@end

#import “Person.h”
@implementation Person
– (void)dealloc
{
NSLog(@“人挂了。。。”);
[_name release];
[super dealloc];
}
@end

#import
#import “Person.h”
int main()
{
@autoreleasepool
{
Person *p1 = [Person new];
//执行这句代码,并不会把p1对象存储到自动释放池之中去,需要下面这句代码,才能将对象存储到自动释放池之中去:
[p1 autorelease];
}
return 0;
}

一、只有在自动释放池中调用了对象的autorelease方法,这个对象才会被存储到这个自动释放池之中

1)如果只是将对象的创建代码写在自动释放池之中,而没有调用对象的autorelease方法,是不会将这个对象存储到这个自动释放池之中的。

二、对象

关注
打赏
查看更多评论

清风清晨

暂无认证

  • 2浏览

    0关注

    70博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

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

微信扫码登录