我正在将图像作为 Base64 数据从我的服务器返回到我的应用程序,但我不会向我的服务器请求图像,直到我获得用户的位置,我只会在用户登录后获得进入应用程序(显示 UICollectionView)。
我的问题是 collectionView:cellForItemAtIndexPath:
在我为单元格准备好数据之前被调用。在我的 NSURLConnection
收到来 self 的服务器的完整响应并且我有 Base64 编码的图像数据之前,我可以通过哪些方式阻止调用此方法?
(我将 UICollectionView
用作 NSURLConnectionDataDelegate
Và NSURLConnectionDelegate
并且我有一个单独的类(RenderMetadata()
) 将获取图像。)
编辑:感谢您提供的所有创新答案!我想出了一种方法来实现我所追求的。我会解释,但我没有分享我的代码,所以我认为提出它不是一个好主意,因为那只会导致困惑。基本上,我在我的 Storyboard中向我的 View Controller 添加了一个对象,它引用了我用来从我的服务器获取 Base64 编码图像字符串的类。
设置 Collection View 委托(delegate)并在收到响应时重新加载集合。在此之前,将它们置为零。如果 Collection View 的 delegate
Và nguồn dữ liệu
为 nil,则不会加载数据。
func handleDataLoaded()
{
// Your code that handles data.
...
// Load the collection with data
self.collectionView.delegate = self
self.collectionView.dataSource = self
self.collectionView.reloadData()
}
Tôi là một lập trình viên xuất sắc, rất giỏi!