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

Posted

技术标签:

【中文标题】Swift:将照片添加到自定义相册【英文标题】:Swift: Adding Photo To Custom Album 【发布时间】:2015-11-23 08:44:36 【问题描述】:

我正在尝试实现将捕获的照片保存到此article 之后的自定义相册的功能。

但是我在这一行遇到了错误(见article和Apple sample code):

albumChangeRequest!.addAssets([assetPlaceholder])

NSFastEnumeration 的上下文类型不能用作 Array Literal

【问题讨论】:

只需要加上'!'在assetPlaceholder 之后。该错误具有误导性。 【参考方案1】:

这是因为addAssets 的签名是:

func addAssets(_ assets: NSFastEnumeration)

这意味着它期望符合 NSFastEnumeration 的集合,其中 Swift Array 不符合,但 NSArray 符合。因此,从您的 PHObjectPlaceholder 对象数组创建 NSArray 可以正常工作。

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

【讨论】:

【参考方案2】:

这应该适用于 Swift 3

albumChangeRequest.addAssets([photoPlaceholder] as NSArray)

【讨论】:

以上是关于Swift:将照片添加到自定义相册的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 或 4 保存到自定义相册会创建重复的图像

将视频添加到自定义照片集合返回错误

使用 PHPhotoLibrary 将照片添加到自定义文件夹还会将照片添加到相机胶卷

如何将图像保存到自定义相册?

将视频保存到自定义相册 iOS

Phonegap(cordova)将图像保存到自定义相册