Sollten Sie den Delegaten in der Klasse mit dem Delegaten oder in der Klasse selbst auf Null setzen?

Wenn Klasse A Klasse B verwendet und Klasse A der Delegierte von Klasse B ist, ist es in Ordnung, wenn der Delegierte in der Freigabe von Klasse B auf Null gesetzt ist? Ich habe gesehen, wie der Code den Delegierten normalerweise auf Null innerhalb der Freigabe von Klasse A zurücksetzte, war mir aber nicht sicher, ob der wirkliche Unterschied es auf die eine oder andere Weise tat.

z.B. Das ist der übliche Weg:

// somewhere in class A

- (void) someFunc {
  self.b = [[B alloc] init];
  self.b.delegate = self;
}

- (void) dealloc {
  self.b.delegate = nil;
  [self.b release];
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage