Object c 内存管理

Retail变量内存管理

 

@interface myClass:NSObject{

NSString *strVal1;

}

@property(nonatomic,retain)NSString*strVal1;

 

@end

 

strVal1的初始化 self.strVal1 = [[[NSString alloc] init]autorelease];

 

尽量不要strVal1 = [[[NSString alloc] init]autorelease];

这样strVal1的内存生命周期不在我们的控制范围内

 

strVal1的释放 self.strVal1 = nil; 这样最彻底

[strVal1 release]也可以,可是当前的 strVal1并没有指向nil,指向系统一个内存区,最好再strVal1 = nil;

 

 

更牛的一个crash的方式就是[strVa1 release];后再 self.strVal1 = [[[NSString alloc] init]autorelease];就会crash ?知道为什么吗?

 

 

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #b72e9f}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值