Angenommen, ich habe eine Klasse wie folgt:In copyWithZone: sollte ich Zone für alle Zuordnungen oder nur für das zurückgegebene Objekt verwenden?
@interface SomeClass : NSObject<NSCopying> {
SomeOtherClass *obj;
}
In der Definition von copyWithZone :, Ich tue dies:
SomeClass *someCopy = [[SomeClass allocWithZone:zone] init];
Also meine Frage ist, wenn ich möchte eine Kopie von obj machen, Welche davon ist richtig/empfohlen?
Option A:
objCopy = [obj copyWithZone:zone];
Option B:
objCopy = [obj copy];
Oder Option C: objCopy = [obj copyWithZone: [Selbstzone]]; Damit wird die Kopie in der gleichen Zone wie der Anrufer zugeordnet. Aber das ist wiederum, wenn Sie Zonen in erster Linie verwenden. – adib