Zwingt ein Objekt freigeben unter ARC

Arbeite ich an einer iPad-Foto-collage-app, die zieht vielleicht Hunderte von UIImageViews gleichzeitig auf dem Bildschirm.

Gibt es eine Schaltfläche, über die der Benutzer "re-create", das ist wohl zum ausführen einer for Schleife [photo removeFromSuperview] auf alle Fotos und initialisieren Sie eine neue charge, in dieser Reihenfolge.

Bin ich mit der ARC, und meine Konsole sagt mir, dass mein Photo's dealloc Methode nicht aufgerufen wird, bis NACH den nächsten Stapel mit der gezeichnet wurde, das heißt, ich bin in Speicherprobleme, obwohl ich versuche, mich zu entfernen, den ersten Satz, bevor man den nächsten Satz.

Gibt es eine Möglichkeit, entweder 1) warten Sie, bis alle Fotos richtig dealloc würde oder 2) zwingen, alle Fotos zu dealloc sofort unter ARC?

Radu ist richtig, dass, wenn Sie entfernen die " Bild-Ansichten und entfernen Sie alle starken Referenzen zu Ihnen, Sie werden sofort freigegeben. Es ist nicht wie die alten MRC Frage, wo die schlampige Verwendung von autorelease könnte in einer Verschiebung des release der Speicher bis zum Ende der aktuellen Schleife. Wenn Sie immer noch Probleme, Sie werden wahrscheinlich brauchen, um uns zu zeigen code-snippet, wie Ihr das erstellen, hinzufügen, und speichern Sie alle Verweise auf die Bilder und deren Bild-Ansichten. Aber wenn ich das Bild entfernen anzeigen und erstellen neue, die dealloc für den alten passiert, bevor ich zu der Schaffung des neuen.

InformationsquelleAutor user339946 | 2012-10-10

Schreibe einen Kommentar