Ios Swift:将照片添加到自定义相册

Ios Swift:将照片添加到自定义相册,ios,swift,assets,Ios,Swift,Assets,我试图实现的功能,保存捕获的照片到自定义相册如下 但我在这一行中遇到了错误(请参见和): NSFastEnumeration的上下文类型不能用作数组文字 这是因为addAssets的签名是: func addAssets(_ assets: NSFastEnumeration) 这意味着它需要符合NSFastEnumeration的集合,其中SwiftArray不符合,但NSArray符合。因此,从PHObjectPlaceholder对象数组创建NSArray效果很好 let fastEnu

我试图实现的功能,保存捕获的照片到自定义相册如下

但我在这一行中遇到了错误(请参见和):

NSFastEnumeration的上下文类型不能用作数组文字


这是因为
addAssets
的签名是:

func addAssets(_ assets: NSFastEnumeration)
这意味着它需要符合
NSFastEnumeration
的集合,其中Swift
Array
不符合,但
NSArray
符合。因此,从
PHObjectPlaceholder
对象数组创建
NSArray
效果很好

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

这应该适用于Swift 3


albumChangeRequest.addAssets([photoPlaceholder]作为NSArray)

只需添加“!”在
assetPlaceholder
之后。这个错误具有误导性。
let fastEnumeration = NSArray(array: [photo.placeholderForCreatedAsset!] as [PHObjectPlaceholder])
albumChangeRequest!.addAssets(fastEnumeration)