initwithstyle:reuseIdentifier:未调用

我创build自己的自定义UITableViewCell作为原型单元格的后端。 在我的课,我重写initwithstyle:reuseIdentifier:方法来做一些自定义的初始化,但我的初始化没有被调用。 我在它的第一行有一个断点,以及dequeueResusableCellWithIdentifier:一个断点。 dequeueResusableCellWithIdentifier:方法被调用,它返回一个初始化的单元格,但initwithstyle:reuseIdentifier:中的initwithstyle:reuseIdentifier:没有到达。 任何帮助将是伟大的。

如果你的单元格是从故事板原型(你已经在IB中声明为自定义类)创build的,那么它将不会使用initWithStyle...创buildinitWithStyle...但是initWithCoder:而是像从nib中加载的任何其他对象一样。 如果你有任何设置代码,它应该在那里或在awakeFromNib

涉及的故事板,一切都变了。 这是被调用的方法。

 -(id)initWithCoder:(NSCoder *)aDecoder { if ( !(self = [super initWithCoder:aDecoder]) ) return nil; // Your code goes here! return self; } 

如果您使用的是StoryBoarsd,那么UITableViewContoller将不会调用initWithStyle将其replace为initWithCoder它现在可以工作