La copie vous donne un objet distinct.
En général, vous devriez simplement utiliser retain, à moins que vous ne souhaitiez explicitement faire des copies d'objets. Chaque fois que vous copiez, vous devez libérer, alors gardez cela à l'esprit.
Un bon moment pour utiliser -copy est lorsque vous allez utiliser l'énumération pour ajouter ou supprimer des objets.
Prenez un tableau, par exemple. Si vous énumérez le tableau, vous ne pouvez pas ajouter ou supprimer des objets pendant l'énumération, sinon vous allez planter. Avant de commencer l'énumération, utilisez -copy pour créer une nouvelle copie du tableau, et comme vous l'énumérez, si vous devez ajouter/supprimer un objet (muter), vous pouvez le faire sur la copie. Lorsque vous avez terminé l'énumération, vous pouvez rétablir la copie dans l'original.