在已经分配给特定的ivar时将对象分配给ivar

时间:2012-07-14 09:21:43

标签: iphone objective-c ios ipad

在我将对象分配给可能已经分配了对象的ivar的情况下,首先检查是否已将其分配给该ivar是否有任何好处。

例如,代码 A 代码 B 代码是否有任何好处?

A

if (ivar != anObject)
{
    ivar = anObject;
}

ivar = anObject;

1 个答案:

答案 0 :(得分:1)

它不是绝对必要的,我相信@ property / @ synthesize生成的setter这样做是为了优化并停止对同一对象的不必要的内存管理调用(对于一个强属性,旧对象被释放而新的对象被保留,但如果它们是相同的指针,则最终结果是保留计数不变)