我调用firebase数据库来检索位置名称。我将数据存储在字典数组中,然后使用数组中的数据填充collectionView单元格。当选择集合视图单元格时,我会转到另一个视图控制器并将数据传递给视图控制器内的collectionViewCell。
控制台打印正确的值,但是当我将UILabel文本设置为等于该值时,编译器会抛出一个nil可选的解包错误。
我是否错误地传递了数据? 我不确定为什么控制台正在打印值,但编译器会抛出错误。任何关于为什么会发生这种情况的见解,以及如何纠正这一点非常感谢。
编辑:ozzieozumo是正确的,我错误地实例化我的细胞类。我正在创建我的单元格的新实例,但与故事板没有关联,导致我的标签为零。解决方案:我编辑了我的segue方法,将我的字典作为参数。而不是在方法中实例化CollectionViewCell,我实例化了CollectionViewController并将我的字典传递给CollectionViewController。在cellForItemAt下的Controller中,我设置了将数据传递给单元格。
答案 0 :(得分:1)
赋值语句失败,因为左侧是零,而不是右侧。
由于您实例化单元格实例的方式,您的商店是零。
let detailImageCell = LocationDetailImagesCell()
这将创建您的单元格的新实例,但该实例与您的storyboards / xibs无关,因此这些出口将是未初始化的。
这是你眼前的问题。
答案 1 :(得分:0)
标签未在Interface Builder中链接,它是nil
的元素