2015-04-24 10 views
7

Il modo più semplice per caricare un asset locale UIImage è ovviamente l'uso di +[UIImage imageNamed] ma per il mio caso, desidero fornire uno NSURL *. Come posso ottenere un NSURL * per il file locale?Come si costruisce un NSURL per un'immagine in Image.xcassets?

+1

Se si trova nelle risorse dell'immagine, non è necessario utilizzare NSURL ... – Zolnoor

+1

In parole semplici non esiste alcun modo. –

+1

"Devo fornire un NSURL *" No, non è così. – matt

risposta

6

Durante l'utilizzo di xcasset, Xcode inserisce tutti i file in uno nuovo. 1 file per gestirli tutti. Pertanto, non è possibile accedere direttamente a un archivio di immagini all'interno di xcasset. Dalla mela di documentation:

Per progetti con una destinazione di distribuzione di almeno iOS 7 o OS X 10.9, Xcode compila il tuo cataloghi di asset in un formato di file binario runtime che riduce il tempo di download per la vostra applicazione.

Se si deve accedere al file, si hanno due scelta:

  • Non utilizzare il xcasset per questa immagine, ma mettere la vostra immagine come immagine normale nel progetto e utilizzare il NSBundle per farlo
  • Usa UIImage imageNamed, e salvarlo nella directory di vostra scelta

Ma qualunque sia la vostra esigenza, si dovrebbe pensare un altro modo per gestirlo. Le soluzioni sopra funzioneranno, ma sono sicuro che puoi avere una soluzione migliore.

Problemi correlati