2015-11-23 10 views
6

Sto cercando di implementare la funzione che salva la foto acquisita nell'album personalizzato dopo questo article.Swift: aggiunta di foto all'album personalizzato

Ma ho incontrato l'errore in questa linea (vedi article e Apple sample code):

albumChangeRequest!.addAssets([assetPlaceholder]) 

tipo contestuale di NSFastEnumeration non può essere utilizzato come Array Letterale

+2

solo bisogno di aggiungere '!' dopo 'assetPlaceholder'. L'errore è fuorviante. – Hokage

risposta

4

Questo accade perché la firma del addAssets is:

func addAssets(_ assets: NSFastEnumeration) 

Ciò significa che si aspetta la raccolta conforme a NSFastEnumeration di cui Swift Array non lo fa, ma lo fa NSArray. Pertanto, la creazione di NSArray dall'array dell'oggetto PHObjectPlaceholder funziona correttamente.

let fastEnumeration = NSArray(array: [photo.placeholderForCreatedAsset!] as [PHObjectPlaceholder]) 
albumChangeRequest!.addAssets(fastEnumeration) 
5

Questo dovrebbe funzionare con Swift 3

albumChangeRequest.addAssets([photoPlaceholder] as NSArray)

Problemi correlati