Czy powinieneś ustawić delegata na zero w klasie za pomocą delegata lub w samej klasie

Jeśli klasa A używa klasy B, a klasa A jest delegatem klasy B, czy jest w porządku, jeśli delegat jest ustawiony na zero w zwolnieniu klasy B? Widziałem kod, który zwykle resetował delegata do zlikwidowania wewnątrz klasy A, ale nie był pewien, czy prawdziwa różnica robi to w ten czy inny sposób.

na przykład To jest zwykły sposób:

// somewhere in class A

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

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

questionAnswers(3)

yourAnswerToTheQuestion