Você deve definir o delegado para nulo na classe usando o delegado ou na própria classe

Se a classe A estiver usando a classe B e a classe A for o delegado da classe B, será aceitável se o delegado estiver definido como nulo no acordo de classe B? Eu tenho visto código geralmente redefinir o delegado para zero dentro do dealloc da classe A, mas não tinha certeza da diferença real fazendo isso de uma forma ou de outra.

por exemplo. Essa é a maneira usual:

// 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