我正在创建自己的自定义UITableViewCell
以用作原型单元格的后端。在我的类中,我重写initwithstyle:reuseIdentifier:
方法来进行一些自定义初始化,但我的初始化程序没有被调用。我在其内部的第一行有一个断点,以及dequeueResusableCellWithIdentifier:
上的断点。调用dequeueResusableCellWithIdentifier:
方法,它返回一个已启动的单元格,但未达到initwithstyle:reuseIdentifier:
中的断点。任何帮助都会很棒。
答案 0 :(得分:83)
如果您的单元格是从故事板原型(您已在IB中声明为自定义类)创建的,那么它将不会使用initWithStyle...
而是initWithCoder:
创建,而不是像任何其他对象一样从笔尖加载。如果您有任何设置代码,则应该位于awakeFromNib
或{{1}}。
答案 1 :(得分:12)
随着故事板的出现,一切都在变化。这是被调用的方法。
-(id)initWithCoder:(NSCoder *)aDecoder {
if ( !(self = [super initWithCoder:aDecoder]) ) return nil;
// Your code goes here!
return self;
}
答案 2 :(得分:0)
如果您正在使用StoryBoarsd,那么UITableViewContoller将不会调用initWithStyle将其替换为initWithCoder它现在可以正常工作