2016-05-05 3 views
3

Je suis en train de convertir UIImage en PHAsset mais je n'ai trouvé aucune solution. Tout ce que j'ai trouvé est l'inverse (c'est-à-dire PHAsset à UIImage). Le scénario est: J'obtiens des images d'un répertoire personnalisé en PHAssetCollection et en UICollectionView. Je veux également inclure quelques images de plus de l'écran précédent qui proviennent de sources distantes. Je ne veux pas persister des images distantes dans mon répertoire mais je veux les inclure dans mon UICollectionView.UIImage à PHAsset

Veuillez me suggérer une solution ou une bonne alternative pour que la source de UICollectionView sera le même (à savoir PHAssetCollection)

+0

Vous avez trouvé une solution? Je suis confronté au même problème –

Répondre

1

Vous ne voulez pas convertir un PHAsset-UIImage. Je ne sais pas si c'est possible; il ne devrait pas être, puisque PHAsset et UIImage ont différentes propriétés, comportements, etc. L'inverse est possible parce que toutes les propriétés de UIImage peuvent être dérivées de PHAsset mais pas vice-versa. Au lieu de cela, modifiez la source de données de la vue de collection à [UIImage] tout en convertissant PHAsset en UIImage à la place. Cette approche est propre et résout votre autre problème de devoir convertir UIImage en PHImage.

+0

Je ne suis pas d'accord - J'ai un cas similaire, où lors de la présentation d'un tableau de données de pièces jointes, je voudrais présenter un ensemble d'icônes de vignettes dans un 'UICollectionView'. Lors de l'obtention des données de la pièce jointe à partir de la caméra, il s'agit de 'UIImage'. Mais, les autres types de pièces jointes peuvent être des fichiers, référencés par 'URL'. Cet url est ensuite utilisé pour déterminer comment les pièces jointes sont présentées sur la méthode 'didSelect (at index)'. Le but de la traduction en 'PHAsset' est donc d'obtenir une URL dans le schéma' assets-library'. – Stan