gpt4 book ai didi

ios - Swift:如何在方法返回之前获取异步数据?

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

我正在尝试使用以下插件进行网格布局。 https://github.com/ecerney/CollectionViewWaterfallLayout

它要求我为每个单元格返回一个具有实际图像大小的 cgsize。

所以我尝试使用另一个 cocoapod 插件来达到大小:

https://github.com/IMcD23/IMRemoteImageSize/

但是,“getImageSize”是一个异步调用,用于获取我认为的图像。因此每次cgsize的返回值为“nil”。有没有办法让我在返回函数执行之前获取大小?谢谢!

func collectionView(collectionView: UICollectionView, layout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

let image = images[indexPath.row]

var sizeOfTopCover:CGSize?

UIImage.getImageSize(image.url, completion: {


(size) -> Void in
print("Got size of image: \(image.url): \(size)")

sizeOfTopCover = size

})

return sizeOfTopCover! <<< breaking here

}

最佳答案

打电话时您必须知道尺寸

func collectionView(collectionView: UICollectionView, layout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize 

但是,当收到所有单元格的大小时,您可以重新加载 Collection View 。或者当您收到单元格大小时重新加载每个单元格。

关于ios - Swift:如何在方法返回之前获取异步数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37846485/

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