自定义UICollectionViewCell中控件为nil

来源:互联网 发布:数据响应200 编辑:程序博客网 时间:2024/05/04 14:44

一、问题描述

将storyBoard中的UICollectionViewController中的UICollectionViewCell中的imageView和label拖线到自定义UICollectionViewCell类的.m的类延展中,在自定义UICollectionViewCell类的.h中拿到数据模型,在.m中重写数据模型的set方法,给cell中的两个控件赋值,这时发现两个控件均为nil,无法赋值。

二、原因分析

cell中的控件均为nil,经检查发现是注册cell 的方法出了问题。一般情况下,UICollectionViewCell用xib的话是用registerNib注册cell;用代码创建UICollectionViewCell的话是用registerClass注册cell;而用storyBoard创建UICollectionViewCell的话是不需要注册cell的。项目中UICollectionViewCell是在storyBoard中,所以下述注册cell的方法是多余的。

在自定义的UICollectionViewController的类中多写了如下代码:

[self.collectionView registerClass:[JWCycleCollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];

三、解决方法

将上述注册cell的方法删掉之后,cell 里边控件上的数据就可以正常显示了。

1 0