在UICollectionViewCell

时间:2017-12-30 01:40:39

标签: swift xcode firebase uicollectionviewcell

我调用firebase数据库来检索位置名称。我将数据存储在字典数组中,然后使用数组中的数据填充collectionView单元格。当选择集合视图单元格时,我会转到另一个视图控制器并将数据传递给视图控制器内的collectionViewCell。

控制台打印正确的值,但是当我将UILabel文本设置为等于该值时,编译器会抛出一个nil可选的解包错误。

将数据传递给didSelectItemAt中的视图控制器: enter image description here

将值设置为UILabel文本: enter image description here

控制台打印值: enter image description here

我是否错误地传递了数据? 我不确定为什么控制台正在打印值,但编译器会抛出错误。任何关于为什么会发生这种情况的见解,以及如何纠正这一点非常感谢。

编辑:ozzieozumo是正确的,我错误地实例化我的细胞类。我正在创建我的单元格的新实例,但与故事板没有关联,导致我的标签为零。

解决方案:我编辑了我的segue方法,将我的字典作为参数。而不是在方法中实例化CollectionViewCell,我实例化了CollectionViewController并将我的字典传递给CollectionViewController。在cellForItemAt下的Controller中,我设置了将数据传递给单元格。

2 个答案:

答案 0 :(得分:1)

赋值语句失败,因为左侧是零,而不是右侧。

由于您实例化单元格实例的方式,您的商店是零。

let detailImageCell = LocationDetailImagesCell()

这将创建您的单元格的新实例,但该实例与您的storyboards / xibs无关,因此这些出口将是未初始化的。

这是你眼前的问题。

答案 1 :(得分:0)

标签未在Interface Builder中链接,它是nil

的元素