使用核心数据致命错误填充数组
Posted
技术标签:
【中文标题】使用核心数据致命错误填充数组【英文标题】:Populating an array with core data fatal error 【发布时间】:2015-07-05 06:53:27 【问题描述】:我正在用核心数据填充一个数组。所以我拍了一张照片,它保存了,应该在 uiview 中返回我的图像,但得到了这个错误:
致命错误:在展开可选值时意外发现 nil
我在进入视图控制器查看之前拍了照片,但是当我这样做时,它给了我这个错误。
var stores = [Image]()
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as UICollectionViewCell
let store = stores[indexPath.row]
var imageView = cell.viewWithTag(1) as UIImageView
imageView.image = UIImage(data: store.image as NSData)
这段代码应该是解开标签为 1 的集合单元格。
【问题讨论】:
你有一个名为Image
的类吗?
是的,我刚刚解决了这个问题,但致命错误仍然存在。
展开错误发生在哪一行?提供该段的代码。
@HideShidara 你在使用 Storyboard 吗?我建议您创建一个自定义单元格(UICollectionViewCell
的子类),其中包含需要配置的每个子视图的属性(IBOutlet
,如果您使用 xib/storyboard)。
【参考方案1】:
您的代码不会打开带有标签 1 的集合单元格。viewWithTag() 返回带有标签 1 的单元格“单元格”的子视图。因此,如果该单元格不包含带有标签值的子视图1,返回nil,所以报错。
【讨论】:
如何确保单元格包含子视图? @HideShidara 如果单元格包含具有该标记值的子视图,则 viewWithTag 返回该子视图。如果不是,则返回 nil。就这么简单。以上是关于使用核心数据致命错误填充数组的主要内容,如果未能解决你的问题,请参考以下文章