Übernehmen Sie
%Vor% Ist die Zuordnung zum ivar durch @property
korrekt? Ich weiß, dass Sie in der manuellen Speicherverwaltung self.ivarResponseHandler = [responseHandler copy];
benötigt hätten, um sicherzustellen, dass der Block vom Stapel auf den Heap kopiert wurde. Bei Betrachtung von Session 322 - Objective-C Advancements in Depth (Minute 25) von der WWDC 2011 sagt der Sprecher, dass ARC automatisch die Zuweisung eines Blocks zu einem Ivar handhabt. Ich wollte nur sichergehen.
ARC wird automatisch die Kopie für Sie in dem von Ihnen geposteten Code ausführen.
Wenn Sie den Block in ein id
konvertieren, führt ARC nicht die Kopie für Sie durch. In diesem Code führt ARC beispielsweise die Kopie nicht durch, da der Argumenttyp addObject:
id
ist:
Tags und Links objective-c objective-c-blocks properties automatic-ref-counting