0

オブジェクトが既に割り当てられている可能性のある ivar にオブジェクトを割り当てている状況では、その ivar に既に割り当てられているかどうかを最初に確認することには利点があります。

たとえば、コードBよりもコードAに利点はありますか?

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

B

ivar = anObject;
4

1 に答える 1

1

厳密には必要ではありませんが、@ property / @ synthesizeで生成されたセッターは、これを最適化として行い、同じオブジェクトに対する不要なメモリ管理呼び出しを停止すると思います(強力なプロパティの場合、古いオブジェクトが解放され、新しいオブジェクトが保持されますが、それらは同じポインタであり、最終結果は保持カウントが変更されないことです)

于 2012-07-14T09:37:28.640 に答える