我尝试使用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)