我遇到了以下编译错误:
Cannot invoke 'enumerateObjectsUsingBlock' with an argument list of type '((_, _, _) -> Void)'
我想通过这张 XCode6.3 的截图可能更容易理解我的情况。
此代码用于测试使用 fetchAssetsWithMediaType
方法获取 PHAsset 对象。如您所知,此方法返回具有枚举方法的 PHFetchResult。我试图通过 enumerateObjectsUsingBlock
枚举结果中的所有对象。不幸的是,Swift 编译器给了我一个错误。经过长时间的调查,我最终得出结论,这段代码是正确的。
供您引用,以上代码是通过谷歌搜索找到的,用于测试 PHAsset。
最佳答案
我终于找到了问题的答案。 enumerateObjectsUsingBlock
block 的第一个参数是 AnyType!
。因此,append
方法的 obj
参数应该向下转换为 as!
。
无论如何,我认为一个错误信息并不能准确指出这个错误。当 block 中出现错误时,编译器似乎会向程序员提供此类错误消息。
关于ios - 使用 PHFetchResult 的 `enumerateObjectsUsingBlock` 时出现编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29591610/