Wenn Klasse A Klasse B und Klasse A ist Delegat Klasse B, ist es in Ordnung, wenn der Delegat auf Null in Dealloc der Klasse B festgelegt ist ? Ich habe Code gesehen, der gewöhnlich den Delegierten innerhalb der Deallok der Klasse A auf Null zurückstellt, aber ich war mir nicht sicher, ob es den einen oder anderen Unterschied macht.Sollten Sie den Delegaten auf Null in der Klasse mit dem Delegaten oder in der Klasse selbst setzen
z.B. Dies ist die übliche Art und Weise:
// somewhere in class A
- (void) someFunc {
self.b = [[B alloc] init];
self.b.delegate = self;
}
- (void) dealloc {
self.b.delegate = nil;
[self.b release];
}
'self.b = [[Bzuordnung] init];' Sie sollten nie 'self'on LHS verwenden, wenn Sie' alloc' auf RHS verwenden, wenn '@ property' für' b' beibehalten wird. Justus wollte hinzufügen. – thesummersign
@geekay, warum ist das? –
das war während nicht-arc – thesummersign