我尝试使用enumerateGroupsWithTypes类的ALAssetsLibrary方法,但是第一个参数出现错误。

该方法的原型(prototype):

func enumerateGroupsWithTypes(types: ALAssetsGroupType,
    usingBlock enumerationBlock: ALAssetsLibraryGroupsEnumerationResultsBlock!,
    failureBlock: ALAssetsLibraryAccessFailureBlock!)

我如何称这种方法:
assetLib.enumerateGroupsWithTypes(ALAssetsGroupAll, usingBlock: success, failureBlock: fail)

但我收到了编译错误'CUnsignedInt' is not convertible to 'ALAssetsGroupType'
其他测试:

根据我在互联网上找到的内容和自己的测试,我还尝试了

测试1
assetLib.enumerateGroupsWithTypes(ALAssetsGroupAll as ALAssetsGroupType, usingBlock: success, failureBlock: fail)

结果是编译错误Cannot convert the expression's type 'Void' to type 'ALAssetsGroupType'
测试2
assetLib.enumerateGroupsWithTypes(ALAssetsGroupType(ALAssetsGroupAll), usingBlock: success, failureBlock: fail)

结果是运行时错误EXC_BAD_ACCESS和XCode崩溃。

最佳答案

看起来正确的方法是使用ALAssetsGroupType的初始化程序创建一个新的ALAssetsGroupType。以下应该工作:

assetLib.enumerateGroupsWithTypes(ALAssetsGroupType(ALAssetsGroupAll), usingBlock: success, failureBlock: fail)

07-26 09:40