ios - 使用 PHFetchResult 的 `enumerateObjectsUsingBlock` 时出现编译器错误

标签 ios swift phasset

我遇到了以下编译错误:

Cannot invoke 'enumerateObjectsUsingBlock' with an argument list of type '((_, _, _) -> Void)'

我想通过这张 XCode6.3 的截图可能更容易理解我的情况。

enter image description here

此代码用于测试使用 fetchAssetsWithMediaType 方法获取 PHAsset 对象。如您所知,此方法返回具有枚举方法的 PHFetchResult。我试图通过 enumerateObjectsUsingBlock 枚举结果中的所有对象。不幸的是,Swift 编译器给了我一个错误。经过长时间的调查,我最终得出结论,这段代码是正确的。

供您引用,以上代码是通过谷歌搜索找到的,用于测试 PHAsset。

最佳答案

我终于找到了问题的答案。 enumerateObjectsUsingBlock block 的第一个参数是 AnyType!。因此,append 方法的 obj 参数应该向下转换为 as!

无论如何,我认为一个错误信息并不能准确指出这个错误。当 block 中出现错误时,编译器似乎会向程序员提供此类错误消息。

关于ios - 使用 PHFetchResult 的 `enumerateObjectsUsingBlock` 时出现编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29591610/

相关文章:

ios - 如何测试 PHImageResultIsInCloudKey?

ios - 在 Windows for iPhone 应用程序上将推送证书转换为 P12 格式

ios - 如何诊断和解决 WCSession sendMessage(_ :replyHandler:errorHandler:)?

swift - 检查时间是否在范围内

swift - iOS 11 : [ImageManager] Unable to load image data

ios - PHAsset 视频压缩 iOS swift

iphone - 如何在 tableView 单元格中圆化 ImageView 的角

ios - AdBanner 未在模拟器中显示

swift - SceneKit – 为什么 SCNLight 在 SCNScene 中自动创建?

ios - 在 UIScrollView 中约束 UITableView