swift - 在 UICollectionViewCell 中设置 firebase 值时出现 Nil 可选解包错误

标签 swift xcode firebase uicollectionviewcell

我调用 firebase 数据库来检索位置名称。我将数据存储在字典数组中,然后使用数组中的数据填充 collectionView 单元格。当 Collection View 单元格被选中时,我转到另一个 View Controller 并将数据传递给 View Controller 内的 collectionViewCell。

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

在 didSelectItemAt 中将数据传递给 View Controller : enter image description here

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

控制台打印值: enter image description here

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

编辑:ozzieozumo 是正确的,我错误地实例化了我的单元类。我正在创建我的单元格的一个新实例,但没有连接到 Storyboard,这导致我的标签为零。

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

最佳答案

赋值语句失败,因为左边是 nil,右边不是。

由于您实例化单元实例的方式,您的导出为零。

让 detailImageCell = LocationDetailImagesCell()

这将创建您的单元格的一个新实例,但该实例与您的 Storyboard/xibs 无关,因此 socket 将未初始化。

这是您的直接问题。

关于swift - 在 UICollectionViewCell 中设置 firebase 值时出现 Nil 可选解包错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48030180/

相关文章:

swift - 从firebase中获取相对于用户uid的用户名以显示评论

ios - 使一个单元格(但不是第一个单元格)在 UITableView 上始终可见

ios - 表格 View 的高度未根据单元格数量完全增加

swift - 如何在 Xcode macOS Cocoa 应用程序中嵌入和流式传输来自网络的视频?

ios - applicationWillTerminate 有多个 View

web - polymer Firebase : Uncaught TypeError: Cannot read property 'signInWithPopup' of undefined

android - Firebase 身份验证有效,但 firestore 拒绝请求,因为权限缺失或不足

ios - XCode 6.3 向 tableviewcell 添加边距

swift - 通过在 map 上滑动来拖动 GoogleMaps-Marker

objective-c - 尝试播放音频时找不到文件错误(OBJ-C)