swift 3 中的 ALAssetsLibraryGroupsEnumerationResultsBlock

Posted

技术标签:

【中文标题】swift 3 中的 ALAssetsLibraryGroupsEnumerationResultsBlock【英文标题】:ALAssetsLibraryGroupsEnumerationResultsBlock in swift 3 【发布时间】:2017-04-26 19:11:09 【问题描述】:

由于我将项目“升级”到 Swift 3,因此在尝试使用 ALAssetLibrary 时出现异常。我使用它而不是照片库,因为我想将大量元数据写入照片文件,但到目前为止我还没有找到使用照片库执行此操作的方法。

以下代码现在失败:

let usingBlock = 
    (group: ALAssetsGroup?, stop: UnsafeMutablePointer<ObjCBool>) in
    // Code to execute
 as! ALAssetsLibraryGroupsEnumerationResultsBlock

看来演员阵容失败了。我需要一个ALAssetsLibraryGroupsEnumerationResultsBlock 类型的对象才能调用ALAssetsLibrary.enumerateGroupsWithTypes

我再次知道这已被弃用,但它应该仍然可以工作,不是吗?

【问题讨论】:

【参考方案1】:

ALAssetsLibraryGroupsEnumerationResultsBlock 的签名已更改为 typealias ALAssetsLibraryGroupsEnumerationResultsBlock = (ALAssetsGroup?, UnsafeMutablePointer<ObjCBool>?) -> Void

您需要将 stop 参数设为可选参数,然后它应该可以工作(请参阅apple docs

【讨论】:

以上是关于swift 3 中的 ALAssetsLibraryGroupsEnumerationResultsBlock的主要内容,如果未能解决你的问题,请参考以下文章

swift Swift 3.0中的测量和单位示例

swift 3中的ResponseCollectionSerializable

swift 从swift 3中的URL获取原始字符串

Swift 3 中的 managedObjectContext

从 Swift 3 中的 API 获取 AVPlayer 中的视频

Swift 3 中的 NSAttributedString 扩展