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];
}