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