gpt4 book ai didi

ios - 在我准备好数据之前,如何防止 cellForItemAtIndexPath 执行?

转载 作者:行者123 更新时间:2023-11-28 09:38:23 27 4
gpt4 key购买 nike

我正在将图像作为 Base64 数据从我的服务器返回到我的应用程序,但我不会向我的服务器请求图像,直到我获得用户的位置,我只会在用户登录后获得进入应用程序(显示 UICollectionView)。

我的问题是 collectionView:cellForItemAtIndexPath: 在我为单元格准备好数据之前被调用。在我的 NSURLConnection 收到来 self 的服务器的完整响应并且我有 Base64 编码的图像数据之前,我可以通过哪些方式阻止调用此方法?

(我将 UICollectionView 用作 NSURLConnectionDataDelegateNSURLConnectionDelegate 并且我有一个单独的类(RenderMetadata()) 将获取图像。)

编辑:感谢您提供的所有创新答案!我想出了一种方法来实现我所追求的。我会解释,但我没有分享我的代码,所以我认为提出它不是一个好主意,因为那只会导致困惑。基本上,我在我的 Storyboard中向我的 View Controller 添加了一个对象,它引用了我用来从我的服务器获取 Base64 编码图像字符串的类。

最佳答案

设置 Collection View 委托(delegate)并在收到响应时重新加载集合。在此之前,将它们置为零。如果 Collection View 的 delegatedataSource 为 nil,则不会加载数据。

func handleDataLoaded() 
{
// Your code that handles data.
...

// Load the collection with data
self.collectionView.delegate = self
self.collectionView.dataSource = self

self.collectionView.reloadData()
}

关于ios - 在我准备好数据之前,如何防止 cellForItemAtIndexPath 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28055177/

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