我是 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];
}
}
我还想指出,几乎没有理由不使用弧。