关于tableview cell 初始化方法的几个疑惑

我自定义了一个cell的xib, 类里面有这个几个方法有点疑惑

clipboard.png

1 这个几个方法有什么作用?
2 我的想法是在初始化的时候 传进一个对象进来, 然后在awakeFromNib方法中初始化一下变量的值, 这个初始化方法该怎么写?

阅读 6.3k
2 个回答

第1个方法是把 cell 解码出来。比如之前曾把cell压缩存在文件里,现在要把它还原出来。解压出来的cell的属性都是之前存起来的。

第2个方法是纯粹用代码生成,指定stylereuseIdentifier,剩下的属性都是默认的。

其中 xib 里的 cell 是走第1个方法创建,自己拿代码写的cell是手动调用第2个方法创建的。至于你说的问题,就要看你的cell是用xib画的还是用代码自己写的啦。

如果用代码写的,初始化就放在init(style……这个方法里,调super之后。

如果用xib写的,创建cell时会先调第一个方法,再调awakeFromNib。但由于调第一个方法时引出的一些子view可能为nil,所以实际操作中一般把初始化放在awakeFromNib里。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题