覆盖用于分配、保留和复制的设置器



我是 Objective-C 的新手,想了解更多关于非基于 arc 的编程,特别是覆盖分配、保留和复制的设置器。 有人可以帮我吗?还请简要介绍一下过程。

以下是

每种方法的简要说明:

是默认值,只是执行变量赋值。它不主张所有权,因此如果没有其他人通过保留或其他方式主张所有权,则财产指针指向的对象可能随时消失。

- (void) setAssignProperty:(id)newValue
{
    self->assignProperty = newValue;
}
保留

指定应发送新值 -保留在分配时,旧值发送释放。保留也被称为强。方法保留会增加对象的保留计数(在保留计数为 0 之前不会释放对象)。

-(void)setRetainProperty:(id)newValue
{
    if (retainProperty != newvalue)
    {
        [retainProperty release];
        retainProperty = [newValue retain];
    }
}

copy 指定新值应发送 -copy 在分配时发送,旧值发送释放。复制将创建对象的新实例。

-(void)setCopyProperty:(id)newValue
{
    if (copyProperty != newvalue)
    {
        [copyProperty release];
        copyProperty = [newValue copy];
    }
}

我还想指出,几乎没有理由不使用

最新更新