自定义UICollectionViewCell中控件为nil

一、问题描述

将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 里边控件上的数据就可以正常显示了。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Haikuotiankong11111/article/details/52349060
文章标签: 控件 nil
个人分类: iOS常见问题
上一篇UIFlowLayout:the behavior of the UICollectionViewFlowLayout is not defined
下一篇iOS无限轮播器框架(UICollectionView实现,添加了UIPageControl)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭