Supposons que j'ai une classe comme ceci:Dans copyWithZone :, dois-je utiliser zone pour tous les allocs ou juste pour l'objet retourné?
@interface SomeClass : NSObject<NSCopying> {
SomeOtherClass *obj;
}
Dans la définition de copyWithZone :, je fais ceci:
SomeClass *someCopy = [[SomeClass allocWithZone:zone] init];
Donc ma question est, si je veux faire une copie de obj, lequel d'entre eux est correct/recommandé?
option A:
objCopy = [obj copyWithZone:zone];
Option B:
objCopy = [obj copy];
ou Option C: objCopie = [obj copyWithZone: [self zone]]; Pour que la copie soit allouée dans la même zone que l'appelant. Mais encore une fois c'est si vous utilisez des zones en premier lieu. – adib