发布@property(复制)实例变量?

时间:2009-11-30 15:44:45

标签: objective-c cocoa

我很确定我这样做是对的,但只是想检查一下。我有两个实例变量,它们通过@property创建了访问器。在我的dealloc中(对于同一个对象)我发布了这些对象。

@property(copy) NSString *firName;
@property(copy) NSString *surName;

-(void)dealloc {
    NSLog(@"_deal: %@", self);
    [firName release];
    [surName release];
    [super dealloc];
}

加里

3 个答案:

答案 0 :(得分:6)

是的,这是正确的。

implementation of the property会在复制新值之前调用前一个值的release,因此您唯一需要担心的内存管理是使用dealloc方法释放做的。

答案 1 :(得分:0)

看起来正确。我通常使用nonatomicretain和NSString属性...

编辑:copy它是。

答案 2 :(得分:0)

这是对的。记住内存所有权政策。由于您正在使用副本,因此您将获得对象的所有权,就像您使用保留一样,因此您在完成后就会释放。