Frage

Ich versuche, Thumbnails (288x288) von ausgewählten Fotos aus der iPad Photo Library zu erstellen.Ich habe ein Array von Alasset-Objekten, die in einem UitableView präsentiert werden, und wie ich eine Zeile auswählte, wird eine größere Vorschau (288x288) dieses Bildes angezeigt.Um den Hauptfaden-Blockieren zu verhindern, versuche ich, das Miniaturbild in einem Hintergrundfaden zu erstellen, und speichert auch eine Kopie der Miniaturansicht an das Dateisystem.

In einem Ansichtscontroller Wenn eine TableView-Zeile ausgewählt ist, rufe ich LoadPreViewImage im Hintergrund an: generasacodicetagpre.

Ich fahre ein benutzerdefiniertes Upload-Objekt an, das Asseturl-Eigenschaft enthält: generasacodicetagpre.

Dies wird auf dem Hauptgewinde aufgerufen, um das Miniaturbild nach dem Laden anzuzeigen: generasacodicetagpre.

Dies ist eine Methode von myupoadclass: generasacodicetagpre.

Das Problem ist, dass ich das erste Mal immer Null-PreviewImage bekomme, und erst nach der Zwischenspeicherung bekomme ich ein Bildobjekt.Was mache ich falsch?Gibt es einen besseren Ansatz für dieses Problem?

War es hilfreich?

Lösung

Ich habe nicht eindeutig verstanden, wie das Ergebnisblock von Alassetlibrary tätig ist, mein Fehler sollte denken, dass die Hinrichtung linear ist.Es stellt sich heraus, dass in meinem Fall das Ergebnisblock auf dem Hauptfaden ausgeführt wird, während der Rest des Codes in der PreviewImage auf einem Hintergrundfaden ausgeführt wird.Ich hatte NIL, weil PreviewImage zurückkehrte, bevor das ResanBlock die Chance hatte, seine Ausführung zu beenden.Ich habe das Problem gelöst, indem ich die Vorschausimage mit der folgenden Methode ersetzte: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top