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