gpt4 book ai didi

closures - ALA Assets 集团!不是 'ALAssetsGroup' 的子类型

转载 作者:行者123 更新时间:2023-11-30 10:23:27 25 4
gpt4 key购买 nike

我的应用程序中有一个 loadAlbums 方法,它使用 AssetsLibrary 的单例实例加载资源。这是到目前为止我的代码:

func loadAlbums(){
let library = IAAssetsLibraryDefaultInstance

library.enumerateGroupsWithTypes(ALAssetsGroupAll as ALAssetsGroupType,
usingBlock: {(group:ALAssetsGroup, stop:Bool) in
if group {
self.albums.append(group)
}
else {
self.tableView.performSelectorOnMainThread("reloadData", withObject: nil, waitUntilDone: true)
}
}, failureBlock: { (error:NSError) in println("Problem loading albums: \(error)") })

}

我收到的错误位于 usingBlock 行的开头。编译器说:

ALAssetsGroup!不是“ALAssetsGroup”的子类型

这是什么意思?我该如何解决这个问题?

最佳答案

您的 block 需要一个 ALAssetsGroup 作为 group 参数,但它正在传递一个类型为 ALAssetsGroup! 的参数(隐式解包)可选)。

最大的区别在于,您传递的值可以为零,但您期望的类型不能为零

只需将您的签名更改为

{(group:ALAssetsGroup!, stop:Bool) in

}

您的代码已经在检查组是否为零,因此这应该是您需要进行的唯一更改

关于closures - ALA Assets 集团!不是 'ALAssetsGroup' 的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com