gpt4 book ai didi

ios - 自定义 CollectionViewCell 的 ImageView 在应该配置时为 nil

转载 作者:搜寻专家 更新时间:2023-11-01 06:37:07 25 4
gpt4 key购买 nike

我有一个 tableViewCell 和一个 collectionViewcollectionView 的单元格 是自定义单元格,它们只包含一个 imageView .

Here is my test project

以下是我的CollectionView 类 中的DataSource 所需方法:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ImageCell", for: indexPath) as! ImageCell

let image = UIImage(named: listItems[indexPath.row])
cell.testImageView.image = image

return cell
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return listItems.count
}

当我尝试为单元格的 imageView 设置图像时,出现此错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

我已经检查了 image,它不是 nil,但是 testImageView 是,当我尝试将图像设置为collectionViewCell 的 testImageView。我该如何解决?编辑1 enter image description here

这是从 tableViewController 调用的方法来填充 collectionView 的 listItem

func load(listItem: [String]) {
self.listItems = listItem
reloadData()

}

此外,如果我使用此代码从 collectionView cellForItemAt indexPath 中删除代码,一切正常

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ImageCell", for: indexPath)
let imageView = UIImageView(image:UIImage(named: listItems[indexPath.row]))

cell.backgroundView = imageView

最佳答案

您弄错了两个 View Controller 。您的 IB socket 连接到不同 View Controller 中的单元格。我的意思是你可以在不同的 Controller 中有多个 View 连接到同一个 IBOutlet,但在你的情况下,第一个加载的 View 没有连接,所以这就是它崩溃的原因。

这是您的 socket 所连接的电池。 This is the cell your outlet was connected to.

这是您正在尝试加载(但没有将 IBOutlet 连接到 ImageView ):

enter image description here

关于ios - 自定义 CollectionViewCell 的 ImageView 在应该配置时为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40203922/

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