Obj-C 2.0中属性的用法
假设一个接口如下
@interface TestInterface:NSObject {
NSArray *ary;
}
@property (nonatomic,retain) NSArray *ary;
-(void)InitAry;
@end
@implementation TestInterface
-(void)InitAry
{
ary = [NSArray arrayWithObjects:@"first",@"second",nil];
}
@end
上面这种写法是错误的。会导致ary值被autorelease掉。
一定要写成 self.ary = [NSArray arrayWithObjects:@"first",@"second",nil];
或[self setAry:[NSArray arrayWithObjects:@"first",@"second",nil]];
我想当然的以为这三种写法的效果是一样的。
本文详细解析了Objective-C 2.0中属性的正确使用方式,并通过实例对比了不同赋值方法的区别,强调了直接使用局部变量与通过self或setter方法设置属性值之间的关键差异。
886

被折叠的 条评论
为什么被折叠?



