In ReactiveCocoa gibt es ein Makro zu verhindern, Zyklus @weakify
und @strongify zu verhindern. Von meinem Verständnis @weakify
etwas tun, was ich normalerweise tun, dass __weak
Referenz für die Verwendung in dem Block erstellen, aber was ist mit @strongify
?Was ist der Grund von @strongify
Warum muss ich es im Block wieder stark machen? Hier
einig Beispiel-Nutzung:
@weakify(self);
[RACObserve(self, username) subscribeNext:^(NSString *username) {
@strongify(self);
[self validateUsername];
}];
Sie müssen keine _strong_ Referenz wieder innerhalb des Blocks in dieser Situation machen, was Sie gepostet haben, es würde keinen Unterschied machen - aber wenn Sie mehrfach auf das selbe 'self' Objekt verweisen und Sie wollen um sicher zu gehen, dass das "self" gültig ist, bis der Block seinen Gültigkeitsbereich verlässt (so dass Ihr Block keinen halbfertigen Job auf Ihrem "Selbst" macht), müssen Sie ihn _strong_ bekommen. – holex